- 博客(3)
- 收藏
- 关注
原创 独立按键短按与长按
在嵌入式系统或任何使用按键输入的设备中,区分按键的短按和长按是一种常见的需求。短按通常指的是用户按下并释放按键的时间很短,而长按则是用户持续按下按键超过一定的阈值。
2024-09-24 14:18:29 379
原创 STM32F407串口通信程序波特率设置115200,上位机显示乱码,上位机设置38400才通信正常。
最近在实习公司使用的STM32F407ZGT6的主控板,板子是公司硬件部门设计的,我在调试这个板子的时候发现串口通信一直乱码,烧录了例程也是乱码,找了很多问题才发现,是由于晶振不对。如果HSE为8MHz,PLL_M设置为8,为了达到STM32F407的最大频率168MHz,需要选择合适的PLL_N和PLL_P值。而波特率的设置依赖于USART的时钟源和USARTDIV的值,而USARTDIV是通过以下公式计算得出的:USARTDIV=时钟源频率/(波特率×16)编译下载即可使用115200波特率通信。
2024-09-14 15:59:17 375
原创 FreeRtos中使用队列在不同任务中传输数据的两种方式:拷贝变量的内存地址和拷贝变量本身的值存在的问题
以上代码是首先在任务1中通过输入sum的地址到xQueueSend函数将sum的值拷贝进队列中,然后在任务2中通过输入val的地址到xQueueReceive函数中将队列中的值拷贝到val的地址,从而通过队列实现了任务1到任务2的传递,但是在数据多,数据量大的时候使用这个值的拷贝机制就会比较复杂。这意味着在任务之间传递数据时,实际传递的是数据的副本,而不是原始数据的引用。从图中可以看到从任务2切换到任务1取数据的过程 过程存在一定间隔约3ms,在这过程中,任务1继续执行佳佳,改变了结构体内的数值从而导致。
2024-07-27 17:25:05 531
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人