[APM32E1] APM32E103ZET6串口打印实验

[复制链接]
 楼主| BDW杜兰特 发表于 2022-5-5 16:45 | 显示全部楼层 |阅读模式
#申请原创# #有奖活动# #技术资源#
各位小伙伴们,本次实验做的是E103系列串口的打印。自发自收
烧录固件我用的是J-LINK与开发板的JTAG相连,JT串口的打印我用的是USB转串口连接PA9 PA10俩个脚,使用的是串口1打印。
具体代码如下:

  1. #include "main.h"
  2. #include "stdio.h"
  3. #include "apm32e10x_usart.h"

  4. volatile uint32_t tick = 0;
  5. uint8_t txBuf[] = "Hello USART1 \r\n";
  6. uint8_t zul_txBuf[] = "欢迎使用极海单片机\r\n";

  7. void Delay(void);


  8. int main(void)
  9. {
  10.     uint8_t i;
  11.    
  12.     GPIO_Config_T GPIO_ConfigStruct;
  13.     USART_Config_T USART_ConfigStruct;
  14.    
  15.     APM_MINI_LEDInit(LED2);
  16.                 APM_MINI_LEDInit(LED3);
  17.    
  18.     RCM_EnableAPB2PeriphClock((RCM_APB2_PERIPH_T)(RCM_APB2_PERIPH_GPIOA | RCM_APB2_PERIPH_USART1));
  19.    
  20.     GPIO_ConfigStruct.mode = GPIO_MODE_AF_PP;
  21.     GPIO_ConfigStruct.pin = GPIO_PIN_9;
  22.     GPIO_ConfigStruct.speed = GPIO_SPEED_50MHz;
  23.     GPIO_Config(GPIOA, &GPIO_ConfigStruct);
  24.    
  25.     USART_ConfigStruct.baudRate = 115200;
  26.     USART_ConfigStruct.hardwareFlow = USART_HARDWARE_FLOW_NONE;
  27.     USART_ConfigStruct.mode = USART_MODE_TX;
  28.     USART_ConfigStruct.parity = USART_PARITY_NONE;
  29.     USART_ConfigStruct.stopBits = USART_STOP_BIT_1;
  30.     USART_ConfigStruct.wordLength = USART_WORD_LEN_8B;
  31.     USART_Config(USART1, &USART_ConfigStruct);
  32.    
  33.     USART_Enable(USART1);
  34.    
  35.     SysTick_Config(SystemCoreClock / 1000);

  36.    
  37.     while(1)
  38.     {
  39.         Delay();
  40.         
  41.         for(i = 0; i < sizeof(txBuf); i++)
  42.         {
  43.             while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
  44.             USART_TxData(USART1, txBuf[i]);
  45.                                        
  46.         }
  47.                                 for(i = 0; i < sizeof(zul_txBuf); i++)
  48.         {
  49.             while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
  50.             USART_TxData(USART1, zul_txBuf[i]);
  51.                                        
  52.         }
  53.         
  54.         APM_MINI_LEDToggle(LED2);
  55.                                 APM_MINI_LEDToggle(LED3);
  56.     }
  57. }


  58. void Delay(void)
  59. {
  60.     tick = 0;
  61.    
  62.     while(tick < 500);
  63. }

这个代码最关键的部分就是把你想要打印出的数据定义成数组形式,然后进行不断的输出打印。插上USB转串口会出现端口,实验现象如下:

好了各位小伙伴们,本次实验内容就这么多


laocuo1142 发表于 2022-5-6 11:13 来自手机 | 显示全部楼层
实验现象如下的内容是不是缺了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

22

帖子

0

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

8

主题

22

帖子

0

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