精读OSAL --我的SPI驱动
来源:互联网 发布:全国最好的专科 知乎 编辑:程序博客网 时间:2024/05/02 02:30
当我仔细地看完OSAL里HAL的SPI驱动,发觉它并不是我们常用的普通SPI驱动.
在数据前增加头,做成包的形式发数据.而我们的项目里有四外设要用SPI,而且是普通的SPI操作.
最后用DMA的方式重新构造自己的驱动.概念如下,代码就不上了,需要的MSG吧.
首先,我构造一个全局的链表,每一个SPI操作都是先写到链表.
其次,考虑到SPI的通信方式,就不实现读写操作,只实现一个交换操作.
如读FLASH,就先将地址写入数据缓冲区的相应位置,然后就发送..
因为是DMA方式,每发送完一个链表项中的数据就进一次dma的中断,在中断里
向HAL层设置一个HAL_SPI_EVENT事件.
在HAL响应这个HAL_SPI_EVENT事件时,就向调用交换操作函数的层发送一个带事件的消息.
这个层解开消息自己处理.
改动地方:
DMA的中断函数;
HAL的driver
OSAL的comdef
- 精读OSAL --我的SPI驱动
- 精读OSAL --我的SPI驱动的失败
- 精读OSAL --SPI方式串行通信(_hal_uart_spi.c)
- 精读OSAL --回调函数的理解
- 精读OSAL --按键的执行流程(hal_key.c onboard.c)
- 09 事件驱动的OSAL简要分析
- 精读OSAL --时钟及休眠(hal_sleep.c)
- SPI设备的驱动
- SPI设备的驱动
- SPI设备的驱动
- MX25的SPI驱动
- SPI的模拟驱动
- SPI的驱动 dma
- SPI设备的驱动
- MX25的SPI驱动
- W25Q128的SPI 驱动
- SPI设备的驱动
- OSAL之按键驱动
- 1、hibernate初步
- 微信平台开发的基本步骤讲解
- 毕业啦
- Activity重复创建,导致界面数据刷新的问题
- Android自定义属性,attr format取值类型
- 精读OSAL --我的SPI驱动
- 【妖精的尾巴win7动漫主题】
- X264 source code analyse - X86inc.asm
- 截取字符串
- Shell中的管道与xargs
- shell_02
- 谈谈java "=="
- 国内HTML5前端开发框架汇总
- 【可疑代码扫描器V0.12最新绿色版】