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

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

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

  • lpc23xx sd文件系统源码 很有用 大家可以
    lpc23xx sd文件系统源码 很有用 大家可以-lpc23xx sd source file system can be useful to everyone
    2022-03-11 06:27:51下载
    积分:1
  • 以S3C44B0X处理器为核心的系统硬件平台上进行uClinux操作系统的剪裁、移植和通过使用其UART端口,连接PC机的串口,实现ARM与PC机的...
    以S3C44B0X嵌入式处理器为核心的嵌入式系统硬件平台上进行uClinux操作系统的剪裁、移植和通过使用其UART端口,连接PC机的串口,实现ARM与PC机的数据传输的过程。-To S3C44B0X embedded processor as the core of embedded system hardware platform uClinux operating system tailoring, transplants and through the use of the UART port, serial port to connect PC machine, the realization of ARM and PC-data transmission process.
    2022-05-14 16:46:23下载
    积分:1
  • 基于arm处理器的实时系统编程,本书叙述详尽,有很好的参考价值...
    基于arm处理器的嵌入式实时系统编程,本书叙述详尽,有很好的参考价值-arm processor based embedded real-time system programming, the book describes in detail, a good reference value
    2022-06-13 07:52:29下载
    积分:1
  • ARM cortex
    ARM cortex-M3系列处理器的代码,包括通用输入输出GPIO、模数比较器ADC、模拟比较器COMP。(IAR环境工程)-ARM cortex-M3 family of processors code, including general-purpose input-output GPIO, modulus comparator ADC, analog comparator COMP. (IAR Environmental Engineering)
    2022-01-25 23:38:00下载
    积分:1
  • Dot
    点阵显示,通过595通讯芯片,达到32×80的刷屏效果,但是刷新频率有些慢。-Dot-matrix display, through the 595 communications chip, reaching 32 × 80 of刷屏effects, but some slow refresh rate.
    2022-04-26 23:50:26下载
    积分:1
  • 本代码采用C语言编写,为信利公司MSC
    本代码采用C语言编写,为信利公司MSC-G12232DYSY-11W型号122X32点阵单色LCD驱动程序,采用ATMEGA168编写,其中针对驱动部分,采用IO口驱动74HC164作为并行输出。代码已通过调试,请放心参考。-The use of C language code for the letter Company MSC-G12232DYSY-11W Model 122X32 dot matrix monochrome LCD driver, used to prepare qualified ATmega168, which for some drivers, the use of IO as a parallel port driver 74HC164 output. Code has passed through debugging, please rest assured reference.
    2022-07-23 15:26:22下载
    积分:1
  • 这是费浙平写的《ARM 体系结构及基于ARM 的开发》非常不错。...
    这是费浙平写的《ARM 体系结构及基于ARM 的嵌入式开发》非常不错。-Zhejiang-written "ARM Architecture and ARM-based embedded development" very good.
    2022-04-13 15:32:33下载
    积分:1
  • JTAG中关于IO的操作代码,对写JTAG SEVER有极高的价值
    JTAG中关于IO的操作代码,对写JTAG SEVER有极高的价值-JTAG on the IO operation code, write JTAG SEVER on high value
    2022-03-22 23:25:06下载
    积分:1
  • 微控制器ARM-NXP-LPC
    启动和工作,RTC一个好的代码为J链接或Flash编程魔术)实时时钟是一个内部时钟在ARM和供应32.768 KH CLOCK
    2022-03-24 04:56:17下载
    积分:1
  • ARM
    ARM-LPC23xx系列DAC源代码。-ARM-LPC23xx Series DAC source code.
    2023-06-11 12:30:09下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载