[应用方案] 【NuMaker-M471测评】写一个简单的串口收发测试

[复制链接]
1407|2
 楼主| Gavin3389 发表于 2021-8-14 16:12 | 显示全部楼层 |阅读模式
本帖最后由 Gavin3389 于 2021-8-14 16:12 编辑

刚接触新唐,还是不太熟悉,
但是吧,各种函数,一旦用起来,
感觉新唐的风格,还是很舒服的。
今天加班累了,看看串口
在例程的基础上改了下,

实现功能:

串口助手发送数据给开发板
开发板返回给串口助手同样的数据。

main函数删减到最精简
  1. int32_t main(void)
  2. {

  3.     /* Init System, IP clock and multi-function I/O. */
  4.     SYS_Init();
  5.     /* Init UART0 for printf */
  6.     UART0_Init();
  7.         GPIO_Init();

  8.     printf("\n\nCPU [url=home.php?mod=space&uid=72445]@[/url] %dHz\n", SystemCoreClock);

  9.     printf("+-------------------------------------------------+\n");
  10.     printf("|    M471KI8AE Study test     |\n");
  11.     printf("+-------------------------------------------------+\n\n");

  12.     while(1)
  13.         {
  14.                 PB14 = 0;
  15.                 delay_ms(500);
  16.                 PB14 = 1;
  17.                 delay_ms(500);
  18.         };
  19. }
串口中断函数

  1. void UART0_IRQHandler(void)
  2. {
  3.    if (UART_GET_INT_FLAG(UART0,UART_INTSTS_RDAINT_Msk))
  4.      {
  5.          while(!UART_GET_RX_EMPTY(UART0))
  6.              g_u8RecData[g_u32comRhead++] = UART_READ(UART0);
  7.                  UART_Write(UART0, g_u8RecData, g_u32comRhead);
  8.      }
  9.         g_u32comRhead = 0;

  10.         //UART_TEST_HANDLE();
  11. }


串口初始化
  1. /*----------------------------------------------------------------------*/
  2. /* Init UART0                                                           */
  3. /*----------------------------------------------------------------------*/
  4. void UART0_Init(void)
  5. {
  6.     SYS_ResetModule(UART0_RST); // Reset UART0
  7.     UART_Open(UART0, 115200);   //Configure UART0 and set UART0 baud rate
  8.         
  9.         /* Enable UART RDA and THRE interrupt */
  10.     NVIC_EnableIRQ(UART0_IRQn);
  11.     UART_EnableInt(UART0, UART_INTEN_RDAIEN_Msk);
  12.         
  13.         //    UART_EnableInt(UART0, (UART_INTEN_RDAIEN_Msk | UART_INTEN_THREIEN_Msk));
  14.         
  15. }



CRT向开发板发送  abcd
7322461177af38ae28.png

收到返回的 abcd
9826461177ac1d69dd.png

比较简单,主要先把串口打通,然后在干点其他的。
littlelida 发表于 2021-8-16 09:59 | 显示全部楼层
有时间,写一个串口就收函数,就好了
dongnanxibei 发表于 2023-9-27 19:51 | 显示全部楼层
这是什么串口助手,看着很给力。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

536

帖子

3

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