完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
向内核注册的操作
device->init = RT_NULL; device->open = RT_NULL; device->close = RT_NULL; device->read = _spi_bus_device_read; device->write = _spi_bus_device_write; device->control = _spi_bus_device_control; 其中的control函数 static rt_err_t _spi_bus_device_control(rt_device_t dev, int cmd, void *args) { /* TODO: add control command handle */ switch (cmd) { case 0: /* set device */ break; case 1: break; } return RT_EOK; } 其中init,open,close函数没有注册,control函数也没有进行填充 |
|
相关推荐
2个回答
|
|
|
在 SPI 驱动中,使用 rt_hw_spi_init 进行 SPI 总线的注册,然后使用 rt_hw_spi_device_attach 进行 SPI 设备的注册,使用 rt_spi_configure 对 SPI 的通讯参数进行配置,使用 rt_spi_send 进行发送。
SPI 的与串口的不太一样,串口注册驱动设备后,使用 open 进行通讯参数的配置。 SPI 驱动的注册流程如下 rt_hw_spi_init /* drivers/drv_spi.c */ |-> stm32_get_dma_info /* drivers/drv_spi.c */ |-> rt_hw_spi_bus_init /* rt_hw_spi_bus_init */ |-> rt_spi_bus_register /* rt-thread/components/drivers/spi/spi_core.c */ |-> rt_spi_bus_device_init /* rt-thread/components/drivers/spi/spi_dev.c */ |-> rt_device_register /* rt-thread/src/device.c */ |-> rt_object_init /* rt-thread/src/object.c */ rt_hw_spi_device_attach |-> rt_spi_bus_attach_device |-> rt_device_find |-> rt_spidev_device_init |-> rt_device_register static const struct rt_spi_ops stm_spi_ops = { .configure = spi_configure, .xfer = spixfer, }; rt_spi_configure /* rt-thread/components/drivers/spi/spi_core.c */ |-> device->bus->ops->configure /* rt-thread/components/drivers/spi/spi_core.c */ |-> spi_configure /* drivers/drv_spi.c */ |-> stm32_spi_init /* drivers/drv_spi.c */ |-> HAL_SPI_Init /* libraries/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c */ |-> HAL_SPI_MspInit /* 硬件管脚复用初始化 cubemx/Src/stm32f4xx_hal |
|
|
|
|
|
可能是因为一个 spi 总线可以挂载多个 spi 设备
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1033 浏览 0 评论
2877 浏览 0 评论
图腾柱PFC无法上升至400V,且电感电流为正弦波形,但是幅值极小
9386 浏览 0 评论
飞凌嵌入式ElfBoard-Vim编辑器之静态链接和动态链接
2898 浏览 0 评论
使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板
2302 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:43 , Processed in 0.707618 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1288