【NUCLEO-L476RG】NO.3 USART向电脑发送字符

  • 电脑
  • hanghang
  • LV5工程师
  • |      2016-06-01 21:18:14
  • 浏览量 2299
  • 回复:4
本帖最后由 hanghang 于 2016-6-1 22:14 编辑 1.采用串口2发送,配置如下选择板子 选择时钟源和USART2 配置时钟 配置USART2 点击 生成工程 2.生成报告以及代码,编译程序。在usart.c文件中可看到串口1的初始化函数MX_USART1_UART_Init(void),以及管脚配置函数HAL_UART_MspInit()。 C语言中的标准库中所用的标准输出函数,默认的输出设备是显示器,要实现串口或LCD的输出,必须重新定义标准库函数里与输出函数相关的函数。例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),方法如下:只要自己添加一个int fputc(int ch, FILE *f)函数,能够输出字符就可以了。 在usart.c文件后面添加如下代码,代码中添加了#ifdef宏定义进行条件编译,如果使用GUNC编译,则PUTCHAR_PROTOTYPE 定义为int __io_putchar(int ch)函数,否则定义为int fputc(int ch, FILE *f)函数。 其中HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);这个语句表示通过串口1发个一个字符。ch为字符的存储地址,0xFFFF为超时时间。在stm32l4xx_hal_uart.c文件中可以找到HAL_UART_Transmit函数。 在main.c文件中添加应用函数。 3.编译程序并下载到开发板。在电脑上打开串口调试助手。选择对应的串口号,设置波特率为115200。按下复位按键会接收到如图信息。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
灵澈 2016-06-02
好玩不?:P
0   回复
举报
发布
hanghang 回复 2016-06-02
还不错吧 就是自己没什么水平 只能写点简单的东西 帖子中可能会有些错误 还望大神多多指教
0   回复
举报
x
收藏成功!点击 我的收藏 查看收藏的全部帖子