关注分享主机优惠活动
国内外VPS云服务器

RM-串口读取(串口数据读取)

总结:读取串口有一个固定的例程,所以我们在这里详细解释一下。 如果以后想使用串口,​​只需复制粘贴即可。

有一个读取串口的例程,所以我们在这里详细解释一下。 如果以后想使用串口,​​只需复制粘贴即可。 本文解释了从设置 cubmax 到编写代码的所有内容。

单击串行端口 8(与任何其他串行端口相同),单击“异步”,然后单击“中断”。 这应该在 dma 上单击。 循环模式的数据长度为: byte(这些参数需要你自己上网)请检查。 您需要了解诸如 DMA 工作原理之类的基本知识)

这取决于串口需要使用的波特率。 发送者和接收者必须是同一个人。 否则,您将无法收到。

时钟点最高,这里是168hz。

1 是项目名称 2 路径中不能有中文 3 眼花缭乱的 mdk 右边的 5

生成代码获得 4 分

初始化main函数中的两条语句。 您可以看到UART_IT_IDLE空闲中断和其他帧中断之间的区别。 这里一半的空闲中断XYZ_BUFFER是数组的首地址。 写入串行端口上接收到的消息。 在这个数组中,陀螺仪数据是11位,所以这里采集的数据是11位11位的。

unsigned char XYZ_BUFFER[20]; // 陀螺仪

中断中的函数:

void UART8_IRQHandler (void){ /* USER CODE BEGIN UART8_IRQn 0 */ uint16_t temp;uint8_t j=0, sum= 0;如果(__HAL_UART_GET_FLAG(&huart8,UART_FLAG_IDL)E)==SET)//标志位:如果检测到已接收到数据,则输入这个 if{__HAL_UART_CLEAR_IDLEFLAG(&huart8);//设置标志位,方便下次数据采集。 / 1temp =11[ k4]hdma_uart8_rx.Instance->NDTR;// 2HAL_UART_Transmit_DMA(&huart8,XYZ_BUFFER,temp); //3for(j=0;j

未经允许不得转载:主机频道 » RM-串口读取(串口数据读取)

评论 抢沙发

评论前必须登录!