芯查查logo
  • 数据服务
    1. 新产品
    2. 物料选型
    3. 查替代
    4. 丝印反查
    5. 查品牌
    6. PCN/PDN
    7. 查方案
    8. 查代理
    9. 数据合作
  • SaaS/方案
      SaaS产品
    1. 供应链波动监控
    2. 半导体产业链地图
    3. BOM管理
    4. 解决方案
    5. 汽车电子
    6. 政府机构
    7. 数据API
  • 商城
  • 行业资讯
    1. 资讯
    2. 直播
  • 论坛社区
    1. 论坛
    2. 学习
    3. 测评中心
    4. 活动中心
    5. 积分商城
  • 查一下
  • 开通会员
雅特力AT-START-F423开发板测评02+串口调试
原创 发布时间:2024/09/02 20:28
版块:
开发板测评
简介:雅特力AT-START-F423开发板测评02+串口调试

一:雅特力芯片介绍:

编译软件:MDK5.38a,调试器使用板载的AT-DAP调试器

AT32串口知识介绍:

通用同步异步收发器(USART)是一个能通过多种不同的配置与使用不同的数据格式的外设进行通信的通用接口,同时支持异步全双工,异步半双工以及同步传输。 USART 提供了可编程的波特率发生器,根据系统频率以及分频系数的不同,用户可以通过配置系统时钟以及分频系数以此产生所需要的特定通信频率。
USART 除了支持标准的 NRZ 异步以及同步收发通信协议外,还支持一些常用的其他类型的串行通信协议,如 LIN(局域互联网), IrDA(红外数据组织) SIRENDEC 规范, ISO7816-3 标准的异步智能卡协议,以及 CTS/RTS(Clear To Send/Request To Send)硬件流操作, RS485 和 Modbus。
USART 还支持多处理器通信, 以及可配置通过空闲帧或地址匹配唤醒的静默模式,以此搭建 USART 网络, 并且同时支持使用 DMA 进行数据的收发,以此实现高速通信。
USART支持双时钟域, PCLK有系统时钟分频后得到, USART_CLK来源可以是PCLK或HICK或LEXT,这使得 USART 可以工作在 DEEPSLEEP 模式,并支持低功耗唤醒功能。

 

硬件连接:

硬件软件需要将 JP2处的引脚,连接到串口1的发送引脚:

二:串口代码编写步骤:

l 首先串口时钟使能,GPIO时钟使能:    

l GPIO端口模式设置:    

l 串口参数初始化:

l 开启中断并且初始化             

l 使能串口:

l 编写串口发送函数:重映射PRINTF 函数进行数据的发送。

三:软件代码:

void uart_print_init(uint32_t baudrate)

{

  gpio_init_type gpio_init_struct;

 

#if defined (__GNUC__) && !defined (__clang__)

  setvbuf(stdout, NULL, _IONBF, 0);

#endif

 

  /* enable the uart and gpio clock */

  crm_periph_clock_enable(PRINT_UART_CRM_CLK, TRUE);

  crm_periph_clock_enable(PRINT_UART_TX_GPIO_CRM_CLK, TRUE);

 

  gpio_default_para_init(&gpio_init_struct);

 

  /* condiv the uart tx pin */

  gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;

  gpio_init_struct.gpio_out_type  = GPIO_OUTPUT_PUSH_PULL;

  gpio_init_struct.gpio_mode = GPIO_MODE_MUX;

  gpio_init_struct.gpio_pins = PRINT_UART_TX_PIN;

  gpio_init_struct.gpio_pull = GPIO_PULL_NONE;

  gpio_init(PRINT_UART_TX_GPIO, &gpio_init_struct);

 

  gpio_pin_mux_config(PRINT_UART_TX_GPIO, PRINT_UART_TX_PIN_SOURCE, PRINT_UART_TX_PIN_MUX_NUM);

 

  /* condiv uart param */

  usart_init(PRINT_UART, baudrate, USART_DATA_8BITS, USART_STOP_1_BIT);

  usart_transmitter_enable(PRINT_UART, TRUE);

  usart_enable(PRINT_UART, TRUE);

}

 

这里需要重定义一下 printf函数:

PUTCHAR_PROTOTYPE

{

  while(usart_flag_get(PRINT_UART, USART_TDBE_FLAG) == RESET);

  usart_data_transmit(PRINT_UART, (uint16_t)ch);

  while(usart_flag_get(PRINT_UART, USART_TDC_FLAG) == RESET);

  return ch;

}

 

主函数如下:

  system_clock_config();

  at32_board_init();

  uart_print_init(115200);

 

  /* output a message on hyperterminal using printf function */

  printf("usart printf example: retarget the c library printf function to the usart\r\n");

 

  while(1)

  {

    printf("usart printf xin cha cha Number: %u\r\n",number++);

    delay_sec(1);

 

 

  }

打开串口调试工具:

配置串口的波特率115200,选择端口号,配置:校验位 :无校验 停止位:1位

雅特力开发板测试
2024/09/02 20:28
  • 举报
😁😂😃😄😅😆😉😊😋😌😍😏😒😓😔😖😘😚😜😝😞😠😡😢😣😤😥😨😩😪😫😭😰😱😲😳😵😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏✂✅✈✉✊✋✌✏✒✔✖✨✳✴❄❇❌❎❓❔❕❗❤➕➖➗➡➰🚀🚃🚄🚅🚇🚉🚌🚏🚑🚒🚓🚕🚗🚙🚚🚢🚤🚥🚧🚨🚩🚪🚫🚬🚭🚲🚶🚹🚺🚻🚼🚽🚾🛀Ⓜ🅰🅱🅾🅿🆎🆑🆒🆓🆔🆕
@好友

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
发布者
聪聪哥哥
最新帖子
LDO串联或并联二极管有什么用?电路保护与特殊应用解析缝纫机伺服0.3秒启停稳如磐石:三招驯服“针位漂移”顽疾伺服电机过载预警:从电流纹波揪出轴承暗伤的猎杀方案芯片丝印反查求助树莓派pico 2测评 - 串口
热门版块
查看更多
电子元器件
每日打卡
维修技术
问型号
问技术
问行情
麦博大学堂
汽车电子工程师论坛
工业电子专区
新手入门指南

6

收藏

分享

微信扫码
分享给好友

评论