你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
关于STM32cubemx 串口如何中断接收发来的不定长数据
[复制链接]
张亚飞
提问时间:2017-6-1 16:39 /
阅读主题, 点击返回1楼
赞
0
收藏
0
评论
47
分享
发布时间:2017-6-1 16:39
请先
登录
后回复
47个回答
xiaoouyang
回答时间:2018-7-17 10:57:24
a0a.1 32b0c
楼主能不能贴个源码上来啊 好多人遇到这样的问题了
赞
0
评论
回复
支持
反对
donghuoyinzi
回答时间:2018-8-14 12:27:12
a0a.1 32b0c
不懂你在说啥
赞
0
评论
回复
支持
反对
andrewsss
回答时间:2018-11-13 15:35:37
a0a.1 32b0c
/*这是开启串口中断后,串口1和串口3之间互相通信的程序,在main里写的回调函数,里面的变量都是全局变量,注意注释里说的串口发送完数据就中断,立马存到缓冲区,中断比存储要快,所以能存完串口的所有数据,在进行中断接收时,必须先开启中断接收*/
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
//UNUSED(huart);
if(huart->Instance == USART1)
{
//串口发送完数据就中断,立马存到缓冲区,中断比存储要快,所以能存完串口的所有数据
//然后发送完后,继续开启中断接收函数
RxBuffer1[RxCounter1++]=RxTemp1;
RxBuffer1[RxCounter1++]=0;
RxCounter1=0;
HAL_UART_Transmit(&huart3,RxBuffer1,strlen(RxBuffer1),100);
HAL_UART_Receive_IT(&huart1,&RxTemp1,1);
}
if(huart->Instance == USART3)
{
RxBuffer3[RxCounter3++]=RxTemp3;
RxBuffer3[RxCounter3++]=0;
RxCounter3=0;
HAL_UART_Transmit(&huart1,RxBuffer3,strlen(RxBuffer3),100);
HAL_UART_Receive_IT(&huart3,&RxTemp3,1);
}
}
赞
0
评论
回复
支持
反对
1
2
3
4
/ 4 页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
//UNUSED(huart);
if(huart->Instance == USART1)
{
//串口发送完数据就中断,立马存到缓冲区,中断比存储要快,所以能存完串口的所有数据
//然后发送完后,继续开启中断接收函数
RxBuffer1[RxCounter1++]=RxTemp1;
RxBuffer1[RxCounter1++]=0;
RxCounter1=0;
HAL_UART_Transmit(&huart3,RxBuffer1,strlen(RxBuffer1),100);
HAL_UART_Receive_IT(&huart1,&RxTemp1,1);
}
if(huart->Instance == USART3)
{
RxBuffer3[RxCounter3++]=RxTemp3;
RxBuffer3[RxCounter3++]=0;
RxCounter3=0;
HAL_UART_Transmit(&huart1,RxBuffer3,strlen(RxBuffer3),100);
HAL_UART_Receive_IT(&huart3,&RxTemp3,1);
}
}