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

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

于 2022-03-21 发布 文件大小:1.27 MB
0 341
下载积分: 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 个回复

  • 意法半导体ARM7 STR710 + DM9000A的TCP / IP的实现
    意法半导体ARM7 STR710+DM9000A的TCP/IP实现-STMicroelectronics ARM7 STR710+ DM9000A the TCP/IP to achieve
    2022-04-20 23:24:50下载
    积分:1
  • STM32非固件库程序,ADC双模,通过串口发送
    STM32非固件库程序,ADC双模式,通过串口发送-STM32 firmware library procedures for non-, ADC dual-mode, through the serial port to send
    2022-03-21 09:22:07下载
    积分:1
  • 很经典的周立功arm培训精华,很全很强大
    很经典的周立功arm培训精华,很全很强大-zhou li gong arm
    2023-05-23 09:20:04下载
    积分:1
  • ARM cortex
    ARM cortex-M3系列处理器的代码,包括I2C、WatchDog、PWM。(IAR环境工程)-ARM cortex-M3 family of processors code, including I2C, WatchDog, PWM. (IAR Environmental Engineering)
    2022-03-11 09:11:42下载
    积分:1
  • based on the ARM7 LPC2131 right embedded microprocessor control LED, that the us...
    基于ARM7的嵌入式微处理器LPC2131对LED进行控制,即GPIO的使用-based on the ARM7 LPC2131 right embedded microprocessor control LED, that the use GPIO
    2022-04-19 10:06:49下载
    积分:1
  • 最新的LPC214X Timer驱动程序,适用于 NXP LPC2141, LPC2142, LPC2144, LPC2146, LPC2148。...
    最新的LPC214X Timer驱动程序,适用于 NXP LPC2141, LPC2142, LPC2144, LPC2146, LPC2148。-LPC214X Timer driver for NXP LPC2141, LPC2142, LPC2144, LPC2146, LPC2148.
    2022-10-02 18:05:03下载
    积分:1
  • isp116x_strongarm_wince_instalguide
    ISP116X_STRONGARM_WINCE_INSTALGUIDE-01.rar
    2023-09-05 17:30:03下载
    积分:1
  • AT91RM9200
    AT91RM9200-Loader.rar at91rm9200 DK中的loader 源程序-AT91RM9200-DK Loader.rar at91rm9200 the loader source
    2022-03-09 14:42:51下载
    积分:1
  • 文件系统源码,
    潜入式文件系统源码,-into File System source code,
    2022-09-05 11:10:03下载
    积分:1
  • fdgdfg fg df fdgdfg dfg
    dfgfd fg fdg dfg dfgdfg dfg dfg fg dfg dfffdg dfg Lorem Ipsum es simplemente el 缔约国 de relleno de las imprentas y archivos de 缔约国。Lorem Ipsum 医管局内幕 el 缔约国 de relleno estándar de las 普 desde el año 1500,宽联合国 (N.del T.角色 que se 奉献式 imprenta) impresor desconocido usó una 南方 de textos y los mezcló 而且没有 de tal 行为 que logró hacer 联合国 libro de textos 报告。不是 sólo sobrevivió 500 años,信 que tambien ingresó 科摩缔约国 de relleno en 之 electrónicos,quedando esencialmente igual al 原始。综 popularizado en 洛杉矶 60s con la creación de las hojas las cuales contenian pasajes de"Letraset"Lorem Ipsum,y más recientemente con 软件 de autoedición、 科摩 por ejempl
    2022-01-30 10:40:11下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载