STM32F1XX系列 HAL库 CAN大量收发数据

发布者:温暖梦想最新更新时间:2019-10-08 来源: eefocus关键字:STM32F1XX系列  HAL库  CAN  收发数据 手机看文章 扫描二维码
随时随地手机看文章

大量收发数据时,会产生收发数据0-3分钟后不再收发数据的现象,此时是由于库函数内部将CAN总线状态改为忙碌。


可在While(1)中填写如下代码


if( HAL_BUSY == HAL_CAN_Receive_IT(hcanx, CAN_FIFO0))//开启中断接收  


{  


    /* Enable FIFO 0 overrun and message pending Interrupt */  


    __HAL_CAN_ENABLE_IT(&hcan1, CAN_IT_FOV0 | CAN_IT_FMP0);  


}  


关键字:STM32F1XX系列  HAL库  CAN  收发数据 引用地址:STM32F1XX系列 HAL库 CAN大量收发数据

上一篇:stm32 实现串口中断接收浮点型、整型数据
下一篇:stm32 hal can接收大量数据的轰炸后,不能继续接收

推荐阅读最新更新时间:2024-11-18 11:28

正确设置FHPP协议模式下的CAN参数
FHPP协议是基于CANopen协议开发的,提供了更全面的Motion控制功能块(见图三); 然而在实际应用中,当我们选用了CMMD或者2个以上CMMS驱动器,按常规方案架设好CANopen网络,在总线运行中就会发现:低位数据区(排在CAN网络前面)的那个伺服控制器上的CAN指示灯是熄灭的,但是马达控制器不报错,FHPP通讯却死活也激活不出来! 观察PLC程序,通常会发现1号轴功能块里的FHPP_In、FHPP_Out数据是异常的。这种情况下,采用常规手段,例如:修改编写PLC程序、用FCT刷固件、用FCT恢复出厂设置后新建再下载项目、优化外围电路与电能质量等等,哪怕是更换上新的控制器,都是没用的。怎么办? 冷静思索下,发现还是FH
[嵌入式]
基于CAN总线的并联逆变电源通信监控系统研究
  逆变电源的模块化并联运行可大大提高系统的灵活性,打破逆变电源在功率等级上的限制,用户可根据需要组合系统的功率,同时便于实现冗余设计,因而具有高可靠性和易于大功率化的优点。并联逆变电源通信监控技术的研究是交流电源系统从传统的集中式供电向分布式供电乃至智能电源系统供电模式发展过程中必须解决的一个课题 。本文介绍一种基于CAN现场总线的并联逆变电源通信监控系统。系统充分利用TI公司TMS320LF2407A DSP芯片的内部资源,通过CAN总线从各并联模块获取并解析现场控制数据,响应现场强实时性操作,实现对模块工作的调度监控,具有结构简洁、扩容方便及可靠性高的优点。 1 系统组成 1.1 系统网络结构   系统组成如图1所示
[嵌入式]
基于Can总线的嵌入式网络控制节点的设计与实现
引言 近年来,基于各种总线标准的网络化 控制系统 已经在工业控制领域内得到广泛应用。网络化 控制系统 采用了完全分散化的控制节点结构,将控制的权力很大部分交给了处于控制现场的智能节点,系统内各种交互信息通过 现场总线 传送。 当前已实用化的总线标准有许多种,如WorldFIP, Profibus, LONWORKS, CAN等。其中,CAN(Controller Area Network)是Bosch公司在现代汽车应用技术中领先推出的一种串行通信网络。CAN主线采用多主站工作方式,根据优先权进行总线访问仲裁,能够检测出通信过程产生的任何错误。 CAN总线 还具有卓越的信号传输性能,当信号传输距离达到l0km时,它仍可提供高
[单片机]
基于<font color='red'>Can</font>总线的嵌入式网络控制节点的设计与实现
HAL教程6:串口数据接收
STM32的串口接收机制   与阻塞式发送函数HAL_UART_Transmit配套,有个阻塞式的接收函数,HAL_UART_Receive,但此函数不常用,串口接收通常使用中断函数HAL_UART_Receive_IT。HAL库的串口中断比较复杂,主要流程如下:   USART1_IRQHandler:由硬件调用,不是HAL库函数,寄存器编程或固件库编程也需要调用此函数;   HAL_UART_IRQHandler:通过中断类型(发送中断还是接收中断)来判断调用哪个函数;   UART_Receive_IT:此函数可以指定,每收到若干个数据,调用一次回调函数;这是因为,每收到一个字节,都会把此函数的接收计数器-1,如果接收计
[单片机]
<font color='red'>HAL</font><font color='red'>库</font>教程6:串口<font color='red'>数据</font>接收
CAST和Fraunhofer IPMS提供CAN-XL控制器IP核
IP提供商CAST和Fraunhofer IPMS日前宣布,为他们流行的CAN 2.0和CAN FD控制器IP核增加了CAN XL标准的支持。 CAN XL是一种新的数据通信协议,自2018年起由CAN-XL特别兴趣小组(CiA)组织,汽车和半导体代表(包括Fraunhofer IPMS)参与开发。目标是通过将CAN协议的数据有效载荷大小增加到2048字节,将其传输比特率提高到10Mbit/s,同时保持与CAN 2.0和CAN FD的互操作性,从而赋予CAN协议更强的能力。因此,CAN-XL将CAN协议的优点扩展到要求更高的应用,在面向信号的CAN-FD和面向服务的高速以太网之间提供了一个中间选择。 针对早期采用者,CAS
[汽车电子]
STM32F的利用HALADC转换DMA方式多通道采样调试总结
1,规则模式下,用户内存缓冲区的数据宽度需要和DMA设置的数据宽度一致,如下: typedef struct rt_device_hwadc { struct rt_device parent; const struct rt_hwadc_ops *ops; uint8_t flag_adc_convert_complete; __IO uint16_t adc_converted_value ; }rt_device_hwadc_t; hdma_adcx.Instance = ADC_DMAx_CHANNELn; hdma_adcx.Init.Direction = DMA_PERIPH_TO_MEMORY; h
[单片机]
STM32 CAN通信 滤波器配置总结
首先声明stm32手册写的太蛋疼,让我看了好长时间没看懂,后来根据实践再回头看了,才看懂一些,在这里还要感激网友发表的博客,下面内容为转载: 一、在STM32互联型产品中,CAN1和CAN2分享28个过滤器组,其它STM32F103xx系列产品中有14个过滤器组,用以对接收到的帧进行过滤。 每组过滤器包括了2个可配置的32位寄存器:CAN_FxR0和CAN_FxR1。这些过滤器相当于关卡,每当收到一条报文时,CAN要先将收到的报文从这些过滤器上 过 一下,能通过的报文是有效报文,收进相关联FIFO(FIFO1或FIFO2),不能通过的是无效报文(不是发给 我 的报文),直接丢弃。 (标准CAN的标志长度是11位。扩展格式C
[单片机]
STM32 <font color='red'>CAN</font>通信 滤波器配置总结
CAN-bus通信步入手机APP时代!
自1990年奔驰公司发布了第一辆使用CAN-bus通信的轿车之后,CAN-bus便成为了通讯界里一颗闪亮的星星,在车载设备的通讯中更是一枝独秀。但面对目前这快速发展的新世界,传统应用方案下的线缆组网,PC机监控已无法满足我们新时代的需求,限制了CAN-bus通信的应用场合。 如果说手机的使用拉近了人与人之间的距离,那么智能手机的出现,各种APP应用程序的深入用户群体,则是完全改变了新时代人类的生活方式。物联网、智能工厂、智慧城市、智能家居无不瞄准了人人必备的手机平台,这是一个时代的主题,作为通讯界中具有贵族血统的,引领潮流的CAN-bus通信,怎可在这一波兴涛大浪中停滞不前。 曾经,我们在为随时移动的设备而无计可施。
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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