1391|2

12

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【雅特力AT32WB415系列蓝牙BLE 5.0 MCU测评】4.0 串口通信 Printf测试 [复制链接]

串口通信 Printf测试

一、板载通信资源

    雅特力AT32WB415开发板具有较为丰富通信外设资源:有3路串口通信接口,IIC,SPI,CAN,USB2.0等诸多接口。

    

二、程序分析

    1、串口初始化

    该部分代码原理和ST差不多,学习过ST的库函数开发者基本都能理解

    

void uart_print_init(uint32_t baudrate)
{
  gpio_init_type gpio_init_struct;

  /* 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);

  /* configure 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);

  /* configure 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);
}

    2、Printf重定向函数

/* support printf function, usemicrolib is unnecessary */
#if (__ARMCC_VERSION > 6000000)
  __asm (".global __use_no_semihosting\n\t");
  void _sys_exit(int x)
  {
    x = x;
  }
  /* __use_no_semihosting was requested, but _ttywrch was */
  void _ttywrch(int ch)
  {
    ch = ch;
  }
  FILE __stdout;
#else
 #ifdef __CC_ARM
  #pragma import(__use_no_semihosting)
  struct __FILE
  {
    int handle;
  };
  FILE __stdout;
  void _sys_exit(int x)
  {
    x = x;
  }
  /* __use_no_semihosting was requested, but _ttywrch was */
  void _ttywrch(int ch)
  {
    ch = ch;
  }
 #endif
#endif

       记得要添加stdio.h的头文件,不然程序会出现报错,最后记得勾选上这个,不然将无法通信

   

此帖出自RF/无线论坛

最新回复

不错不错   刚好要这个 看起来挺容易的    不知道调试时会不会出错   详情 回复 发表于 2022-9-8 17:00
点赞 关注
 

回复
举报

82

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

蓝牙的地址是0x000000的、在复位是应该有一个时序的问题,需要先复位MCU在复位蓝牙、我们手机的蓝牙必须使用类似LightBlue这类的软件才可以连接,直接是无法连接上。

此帖出自RF/无线论坛
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

不错不错   刚好要这个

看起来挺容易的    不知道调试时会不会出错

此帖出自RF/无线论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表