2860|0

654

帖子

26

TA的资源

版主

楼主
 

STM32F769I-DISCO评测(3)--CubeMX生成UART [复制链接]

    CubeMX可以完成很多初始化的工作,给开发带来了便利,使用CubeMX,选择STM32F769I-DISCO板子,如下图:

     双击进去后,设置为外部晶振:

     使能串口1:

      设置好时钟个,这个可以从固件中的任何一个程序中看出,如下图:

    对应设置如下:

    对UART1的设置如下:


      点击生成工程,如下设置:


      生成的工程使用IAR打开,笔者使用的7.7版本。
      现在开始添加代码,首先添加一个全局变量用来存收到的数据:
  1. <font size="3" face="微软雅黑">uint8_t receive;</font>
复制代码
     在uart.c中添加如下两段代码:
  1. <font size="3" face="微软雅黑">#ifdef __GNUC__
  2. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
  3.    set to 'Yes') calls __io_putchar() */
  4. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
  5. #else
  6. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
  7. #endif /* __GNUC__ */</font>
复制代码
  1. <font size="3" face="微软雅黑">PUTCHAR_PROTOTYPE
  2. {
  3.   /* Place your implementation of fputc here */
  4.   /* e.g. write a character to the USART3 and Loop until the end of transmission */
  5.   HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);

  6.   return ch;
  7. }</font>
复制代码
     然后添加主函数中断接收代码和一个printf发送:
  1. <font size="3" face="微软雅黑">HAL_UART_Receive_IT(&huart1,(uint8_t *)&receive,1);
  2.   printf("UART_Test");</font>
复制代码
     在main.c主函数外添加一个中断接收回调函数:
  1. <font size="3" face="微软雅黑">void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
  2. {
  3.   HAL_UART_Receive_IT(&huart1,(uint8_t *)&receive,1);
  4.    HAL_UART_Transmit(&huart1, (uint8_t *)&receive, 1, 0xFFFF);
  5. }</font>
复制代码
     好啦,大功告成,现在烧录进去后首先会显示“UART_Test”,然后输入什么就会输出什么。如下图:


    程序源代码:链接:http://pan.baidu.com/s/1bBJHeu 密码:l3jc

点击此处,查看STM32F769I开发板官方资源。
此帖出自stm32/stm8论坛
点赞 关注
个人签名QQ:252669569
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表