在使用SPI设备时,通常的几个步骤,已经用过多次了,这次使用SPI设备比较简单,仅需要一个SPI写功能,加上几个GPIO输出功能就OK了,然后下面流程走:
1,绑定SPI总线,注册SPI设备,这里使用的是总线是spi3,SPI设备spi30,然后按下面方式绑定
ret = rt_hw_spi_device_attach("spi3", "spi30", SPI_HFPA_PORT, SPI_HFPA_CS_PIN);
2,在线程中调用操作
hd->spidev->parent.write(dev, 0, buf, 1);
3,然后编译没有问题,下载运行,出现错误:

(rt_object_get_type(&mutex->parent.parent) == RT_Object_Class_Mutex) assertion failed at function:rt_mutex_take, line number:680
4,按错误提示,进行mutex的相关初始化操作:
rt_mutex_init(&_hfpa_dev.spidev->bus->lock, "spi30_lock", RT_IPC_FLAG_FIFO);
然后这问题不出现了,但是又出现下面问题
SPI设备使用问题排查与解决

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



