登录
首页 » 嵌入式芯片 » 绝对原创,开源一STM32项目,CAN,UART,Input检测 原创相对高效性能与代码重用平衡思路(缓冲队列加软中断),可直接做工程模板

绝对原创,开源一STM32项目,CAN,UART,Input检测 原创相对高效性能与代码重用平衡思路(缓冲队列加软中断),可直接做工程模板

于 2022-03-21 发布 文件大小:1.27 MB
0 342
下载积分: 2 下载次数: 2

代码说明:

1、CAN收发队列   使用内存FIFO缓冲CAN帧,适合大数据量通信;并使用内部软中断处理CAN数据,相当于事件响应,综合应该比查询方式节省不少时间,也应该比OS调度省点时间。Can.C:底层处理,Communi.C:与应用层高相关。 应用层处理流程用函数指针表的方式调用减少代码量及阅读整齐;实现CAN各种错误记录机制。已初步测试,该机制可用。   CAN处理流程:     接收:CAN1_RX0_IRQHandler_Name (void), CAN1_RX1_IRQHandler(void)           接收中断,CAN_QueueWriteQuick()将当前的有效报文压入内存FIFO,压入的数据为整个CAN邮箱数据,所以后续的处理函数可以分辨出完整的数据。 void CAN1_RX0_IRQHandler_Name (void) // CAN1_RX0_IRQHandler_Name { /* FIFO从空状态开始,在接收到第一个有效的报文后,FIFO状态变为挂号_1(pending_1), 硬件相应地把CAN_RFR寄存器的FMP[1:0]设置为’01’(二进制01b)。 软件可以读取FIFO输出邮箱来读出邮箱中的报文,然后通过对CAN_RFR寄存器的RFOM位 设置’1’来释放邮箱,这样FIFO又变为空状态了。如果在释放邮箱的同时, 又收到了一个有效的报文,那么FIFO仍然保留在挂号_1状态,软件可以读取FIFO 输出邮箱来读出新收到的报文。 如果应用程序不释放邮箱,在接收到下一个有效的报文后,FIFO状态变为 挂号_2(pending_2),硬件相应地把FMP[1:0]设置为’10’(二进制10b)。 重复上面的过程,第三个有效的报文把FIFO变为挂号_3状态(FMP[1:0]=11b)。 此时,软件必须对RFOM位设置1来释放邮箱,以便FIFO

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • stm32f4 CAN总线通讯-主机程序 实测可用
    应用背景 这个试用与CAN通讯的主机程序,主机会发送0x1111给从机器,从机接受到信号后发送0x2222给主机,主机将收到的内容通过USART6显示在屏幕上。程序使用CoIDE编程,总线的设置等均在主函数中,方便移植。同时强烈推荐CoIDE 开源而且很适合初学者。 关键技术 CAN主机的各项配置,GPIO,USART的配置,特别适合初学者学习。清晰的编程思路。如果你是刚接触CAN总线的话一定会给你帮助的。从机只是主函数和主机不同。请大家自行修改一下。
    2022-03-17 10:21:53下载
    积分:1
  • 臂assembel图书馆,ARM指令库
    arm资料汇编,arm指令汇编-arm assembel library, arm instruction library
    2022-06-28 14:31:38下载
    积分:1
  • 该工程应作为一个“易启动”Embos。
    This project should serve as an "easy start" with embOS. All pathes are relative to the project file. You should therefor be able to copy the entire directory (including all subdirectories) to any location on your harddrive.
    2022-01-26 06:06:40下载
    积分:1
  • mifare mfrc531
    MIFARE 经典家庭是的开拓者和领先者在操作的非接触式智能卡 Ic 在 13.56 m h Z 频率范围与读写能力和 ISO 14443 法规遵从性。 广泛用于基于 MIFARE 经典 Ic 智能卡和一个常见的已知的解决方案 如运输、 访问管理和更多的各种应用。恩智浦半导体 提供支持和当地服务覆盖整个的 MIFARE 投资组合价值的客户遍布全国 全球价值链。 它长期的成功,MIFARE 经典家庭将会继续发展。下一步 一代产品中添加更多特性和 £ ¬ 也柔性契约 7 字节 UID 系统。在旁边 经得起未来考验的 7 字节独特 identifi er (7 B UID) 产品 MIFARE 经典仍然是下一代 可用 4 字节非唯一 identifi ers (4 B 釜)。
    2022-05-27 23:54:33下载
    积分:1
  • PID automatic adjustment of the speed of DC motor. DC to consider the number of...
    PID自动调节直流电机的速度。认为规定直流转多少转,通过PID算法自动控制稳定在规定的转速内!-PID automatic adjustment of the speed of DC motor. DC to consider the number of provisions to, through the PID algorithm for automatic control of speed and stability within the required!
    2022-03-12 21:26:01下载
    积分:1
  • based on the G35 LCD test code
    基于G35的液晶显示器试验代码-based on the G35 LCD test code
    2022-03-11 19:53:20下载
    积分:1
  • 闸流管和双向可控硅成功应用的十条黄金规则,推荐下载。
    闸流管和双向可控硅成功应用的十条黄金规则,推荐下载。-gate and the two-way flow for successful application of SCR 10 gold rules, recommended download.
    2022-01-22 12:01:24下载
    积分:1
  • Neucleus under DM9000A the bottom of drive, it is biased, perhaps brothers who n...
    Neucleus下DM9000A的底层驱动,很偏的,也许那位兄弟用得着。-Neucleus under DM9000A the bottom of drive, it is biased, perhaps brothers who need it.
    2023-02-16 15:40:04下载
    积分:1
  • CPU 2410 using the examples of hardware! The package is the ADC conversion proce...
    CPU 2410 硬件使用实例!该程序包是ADC转换的程序,经过转换后传回到PC是显示出来!-CPU 2410 using the examples of hardware! The package is the ADC conversion process, after conversion back to PC is displayed!
    2022-01-26 06:11:52下载
    积分:1
  • 用IAP实现的flash操作,此源码运行于LPC2131等开发板
    用IAP实现的flash操作,此源码运行于LPC2131等开发板-IAP implemented with flash operation, the source code running on the LPC2131 development board, etc.
    2022-01-26 02:28:11下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载