[STM32U5] 【NUCLEO-U5A5ZJ-Q测评】+串口通讯及应用

[复制链接]
732|2
 楼主| jinglixixi 发表于 2023-12-28 18:06 | 显示全部楼层 |阅读模式
NUCLEO-U5A5ZJ 开发板提供了串口通信的调试性能,为此可利用它来控制相应的串口设备,如串口屏、数据记录模块、MP3播放模块等。
由于这些串口设备多是以指令的方式来控制,而非普通的字符串,故对串口发送字节指令的功能进行了测试。
测试的主程序为:
  1. int main(void)
  2. {
  3. uint8_t zp[] = {0x74,0x38,0x2E,0x74,0x78,0x74,0x3D,0x22,0x32,0x30,0x32,0x32,0x2D,0x31,0x32,0x2D,0x31,0x30,0x22,0xff,0xff,0xff};
  4. HAL_Init();
  5. SystemClock_Config();
  6. SystemPower_Config();
  7. MX_GPIO_Init();
  8. MX_MEMORYMAP_Init();
  9. MX_SPI1_Init();
  10. MX_ICACHE_Init();
  11. MX_USART1_UART_Init();
  12. HAL_UART_Transmit(&huart1, (uint8_t *)zp,22, 5000);
  13. while (1);
  14. }
经测试,其结果如图1所示,说明其可以完成字节指令的发送。
1.jpg
图1 指令发送测试

此外,在串口设备的使用中也离不开数据的接收处理,为此也对数据接收功能进行了测试。

进行接收处理的程序为:
  1. HAL_UART_Transmit(&huart1, (uint8_t *)zp,22, 5000);
  2. while(y)
  3. {
  4.         HAL_UART_Receive(&huart1, (uint8_t *)aRxBuffer, 7, 5000);
  5.         if (aRxBuffer[0]==0x4E)
  6.     {
  7.                         tn=(aRxBuffer[1]-'0')*16+aRxBuffer[2]-'0';
  8.                         ty=(aRxBuffer[3]-'0')*16+aRxBuffer[4]-'0';
  9.                         tt=(aRxBuffer[5]-'0')*16+aRxBuffer[6]-'0';
  10.                         zp[10]=aRxBuffer[1];
  11.                         zp[11]=aRxBuffer[2];
  12.                         zp[13]=aRxBuffer[3];
  13.                         zp[14]=aRxBuffer[4];
  14.                         zp[16]=aRxBuffer[5];
  15.                         zp[17]=aRxBuffer[6];
  16.                         HAL_UART_Transmit(&huart1, (uint8_t *)zp,22, 5000);
  17.                         aRxBuffer[0]=0x0;
  18.     }
  19. }
经测试,其结果如图2所示,说明可以完成数据的接收处理。
2.jpg
图2 接收数据测试


有了前面的基础,就可加以应用了。这里是用串口来控制触摸显示屏,所用串口屏为7寸触摸屏,其分辨率为800*480像素点, 它与开发板的连接关系如图4所示,所使用的是串口UART 1。
3.jpg
图3 串口引脚

4.jpg
图4 连接形式


为接收和显示数据,其界面设计如图5所示。
5.jpg
图5 界面设计

在更新显示数据时,只需接收串口所发送的数据指令即可。
以更改气压值为例,就是更新变量t1的文本值,其指令形式为:t7.txt=“数据值”ff ff ff。
以串口将气压值更新为“1022”的指令如图6所示,其更新效果见图7所示。
6.jpg
图6 发送气压更新指令

7.jpg
图7 更新气压值


以串口将日期更新为“2023-12-28”的指令如图8所示,其更新效果见图9所示。
8.jpg
图8 发送日期更新指令

9.jpg
图9 更新效果


经前面的测试,将串口屏与开发板连接到一起后,即可以串口来完成两者间的数据传送。


Henryko 发表于 2024-1-12 17:00 | 显示全部楼层
这个ui怎么设计的啊
 楼主| jinglixixi 发表于 2024-1-12 21:43 | 显示全部楼层
Henryko 发表于 2024-1-12 17:00
这个ui怎么设计的啊

通讯软件制作后,以专用软件来下载即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

519

主题

2945

帖子

39

粉丝
快速回复 在线客服 返回列表 返回顶部