STM32/STM8技术william hill官网
直播中

施稚惇

7年用户 168经验值
私信 关注
[问答]

STM32F103VE作为主机控制外设需每次接收32位数据该如何操作

我用STM32F103VE作为主机控制外设。
外设需要每次接收32位数据,而固件库中最多只能配置16位。
我应该如何操作,请高手不吝赐教,感谢!!!

回帖(13)

施稚惇

2018-9-4 09:27:22

最佳答案

         我是分两次发送的,结果发现,当LE再次置位后,数据还没传送完呢,只能加上一点延时(红字所示),不知道是怎么回事
        GPIO_ResetBits(GPIOB , GPIO_Pin_12);
        SPI_I2S_SendData(SPI2,Word32_MSB);
                while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_TXE)==RESET);       
        SPI_I2S_SendData(SPI2,Word32_LSB);
                while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_TXE)==RESET);       
        Delay(0x0020);
        GPIO_SetBits(GPIOB , GPIO_Pin_12);
举报

孙婷婷

2018-9-4 09:45:40
接收2次,或者4次。我们一般都是按照8个字节来读取的。
举报

全娟

2018-9-4 09:54:12
不用固件库,自己写。
举报

施稚惇

2018-9-4 10:04:53
 我是发送数据,也是一样的吗?
举报

唐瑶

2018-9-4 10:16:41
连续写4次,外设在处理一次呗
举报

罗兰君

2018-9-4 10:34:38
自己写函数,但是stm32本身还是最大以一次16位操作
举报

黄玫玫

2018-9-4 10:50:44
那部就是发两次,封装一个函数
举报

李飞

2018-9-4 10:59:02
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

吕钢格

2018-9-4 11:13:45
如果循环4次做一次, 要看清楚循环
举报

吕钢格

2018-9-4 11:28:11
多搞清楚函数的用法
举报

李晓莉

2018-9-4 11:35:39
连续写2次或者自己写函数,我的SPI有的是用模拟的方式写的
举报

贾翠晓

2018-9-4 11:42:09
那就连续发两次 写成一个函数
举报

周宇

2018-9-4 11:50:16
自己写个函数就可以发32位的了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分