OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4008|回复: 2

有没有程序运行过程中修改串口波特率的例程

[复制链接]

13

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
166
金钱
166
注册时间
2018-11-18
在线时间
55 小时
发表于 2020-3-6 16:01:49 | 显示全部楼层 |阅读模式
10金钱
有没有程序运行过程中修改串口波特率的例程

最佳答案

查看完整内容[请看2#楼]

运行中改变波特率的话,通过串口先发送修改波特率命令,然后重新初始化一次串口就行了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2020-3-6 16:01:50 | 显示全部楼层
运行中改变波特率的话,通过串口先发送修改波特率命令,然后重新初始化一次串口就行了。
回复

使用道具 举报

12

主题

72

帖子

0

精华

高级会员

Rank: 4

积分
539
金钱
539
注册时间
2019-7-3
在线时间
167 小时
发表于 2020-11-5 15:12:53 | 显示全部楼层
  1.     if(RX_BUFF[0] ==0x01 && RX_BUFF[1] == 0x02 && RX_BUFF[2] == 0x03)    //设置波特率
  2.     {
  3.         
  4.         __HAL_UART_DISABLE_IT(&huart1,UART_IT_IDLE);      //关闭空闲中断
  5.        HAL_UART_DMAStop(&huart1);                         //关闭DMA
  6.        SET_Data[0]  = RX_BUFF[3];
  7.        HAL_UART_MspInit(huart);                           
  8.        USART1_UART_Init(SET_Data[0]);                    //串口初始化

  9. //        BUF();
  10.        __HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE);      //打开空闲中断
  11.         HAL_UART_Receive_DMA(&huart1, RX_BUFF, 5);      //打开接受中断
  12.        STMFLASH_Write(BANK1_WRITE_SETTING_ADDR,(uint16_t *)&SET_Data ,6);
  13.     }
复制代码

STM32F103在HAL库通过指令修改。修改完发出的数据被减少了、原来是45个字节,现在只有12个字节、标准库中直接初始化串口就可以实现的操作的。现在在hal中找不到问题
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 13:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表