完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
将工作项目从 Cube5.4 迁移到 5.6 停止工作。
更正所有问题并编译无误后,我调试代码。主要有默认的 GUItask 和接下来添加的两个任务。启动代码初始化所有硬件并启动 rtos,但显示不显示任何内容。我在初始化灰度级后将测试添加到帧缓冲区,它显示正常。模式生成器也可以显示水平和垂直颜色。 当我调试两个添加的任务时,工作正常。 只有 GUI 注意到 init ... /* 初始化所有配置的外设 */ MX_GPIO_Init(); MX_DMA_Init(); MX_SPI2_Init(); MX_I2C3_Init(); MX_ADC1_Init(); MX_CRC_Init(); MX_tiM2_Init(); /* 用户代码开始 2 */ HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi2, (uint8_t *)" ", 1, 5); //继电器关闭 SPI_CS_GPIO_Port->BSRR = SPI_CS_Pin; RC5_初始化(); 打开(); // EE_Write(); HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);//LCD_LIGHT HAL_延迟(321); /* 用户代码结束 2 */ /* 用户代码开始 RTOS_MUTEX */ /* 添加互斥量,... */ MX_FMC_Init(); memset((void *)disp_mem,0,6*1024*1024); MX_DMA2D_Init(); MX_LTDC_Init(); MX_TIM1_Init(); MM_MX_DSI(); MX_TouchGFX_Init(); /* 用户代码结束 RTOS_MUTEX */ /* 用户代码开始 RTOS_SEMAPHORES */ /* 添加信号量,... */ /* 用户代码结束 RTOS_SEMAPHORES */ /* 用户代码开始 RTOS_TIMERS */ /* 启动定时器,添加新定时器,... */ /* 用户代码结束 RTOS_TIMERS */ /* 用户代码开始 RTOS_QUEUES */ /* 添加队列,... */ /* 用户代码结束 RTOS_QUEUES */ /* 创建线程 */ /* defaultTask 的定义和创建 */ osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); /* 用户代码开始 RTOS_THREADS */ /* 添加线程,... */ //显示测试 TIM2->CCR1 = 0x1666; HAL_DSI_PatternGeneratorStart(&hdsi, 0, 0); HAL_延迟(1621); HAL_DSI_PatternGeneratorStart(&hdsi, 0, 1); HAL_延迟(321); while (HAL_GPIO_ReadPin(SW_PWR_GPIO_Port, SW_PWR_Pin) == GPIO_PIN_SET); HAL_DSI_PatternGeneratorStop(&hdsi); HAL_延迟(321); 编码器初始化(); //led PCB test potom inde TCA6424 ext //SPI锁存器ULN测试 //SPI_CS_GPIO_Port->BRR = SPI_CS_Pin; HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi2, (uint8_t *)" 00", 1, 5); //继电器 SPI_CS_GPIO_Port->BSRR = SPI_CS_Pin; HAL_延迟(321);//stab ADC inputs without inputs and with unmute fix HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buf, ADC_BUF_LEN); HAL_延迟(100); Preamp_Set_Input(); xTaskCreate(db_task, "DBTask", 512, 无效的, osPriorityNormal, 无效的); xTaskCreate(test_task, "LEDFadeTask", 512, 无效的, osPriorityBelowNormal, //osPriorityNormal, 无效的); /* 用户代码结束 RTOS_THREADS */ /* 启动调度器 */ 操作系统内核启动(); /* 我们永远不应该到达这里,因为控制现在由调度程序接管 */ /* 无限循环 */ /* 用户代码开始时 */ 而 (1) { /* 用户代码结束 */ /* 用户代码开始 3 */ } /* 用户代码结束 3 */ void StartDefaultTask(void const * 参数) { /* 用户代码开始 5 */ MX_TouchGFX_Process(); /* 无限循环 */ 为了(;;) { 操作系统延迟(1); } /* 用户代码结束 5 */ } |
|
相关推荐
1个回答
|
|
我们尝试在新版本中更好地优化代码。我们有定制板和 LCD,需要达到最大可能的刷新率。
现在 dotclock LTDC 20MHz 和 DSI 60MHzx8 显示 480x1280 大约 29,3Hz 刷新率,我们尝试想办法提高,但 sdram IS42S16400J 只有 16 位 ... 编辑 1:今天我阅读了一篇关于 FMC SPI 显示器和 touchgfx 的文档,发现自定义显示设置是为了这个目的,而不是为了我在视频模式下的 DSI 显示器。这里需要在 CubeMX 5.6 及以上设置 LTDC 而不是 custom。 编辑 2:CubeMX 5.6 的代码现在可以使用 30MHz 的点时钟和 50Hz 左右的显示刷新 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2648 浏览 1 评论
3211 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1785 浏览 1 评论
3614 浏览 6 评论
5994 浏览 21 评论
942浏览 4评论
1318浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
588浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1305浏览 3评论
1365浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 04:22 , Processed in 0.998061 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号