请问miso能否同时做gpio读取引脚电平?

2019-12-28 17:50发布

单片机采用的stm8l,一款adc通过spi口与单片机通信,adc在数据采集完成之后,miso会输出一个低电平,单片机能否检测这个低电平?尝试用gpio函数读引脚电平,发现没成功
13条回答
jackiezeng
1楼 · 2019-12-28 19:26.采纳回答
同一时刻是不能的,但是你这个不是同时啊,,,做完SPI后重新初始化为IO口,
ljy99731
2楼-- · 2019-12-29 23:23
ordinary 发表于 2017-5-11 16:34
多并一个输入io.用硬件换取软件的简化

看到一个帖子也提到用这个办法,是个好办法,现在硬件打样回来了,看来后面可以加上
yongxiangu
3楼-- · 2019-12-30 04:13
 精彩回答 2  元偷偷看……
yongxiangu
4楼-- · 2019-12-30 06:15
可以的,亲试可行
zhangyidao
5楼-- · 2019-12-30 06:25
yongxiangu 发表于 2017-5-11 16:13
谢谢!可能最终还要采用这个办法

模拟的spi速度上不去的,做好准备
wzd5230
6楼-- · 2019-12-30 10:20
apple_eat 发表于 2017-5-11 16:14
即使是设置为SPI使用了,读取IO口还是可以的吧?我印象中IO读取操作时直接读取引脚的. ...

今天试了一下,设置为SPI模式时,读取IO口是可以的,之前写的代码有问题,中了st库的一个坑,http://www.51hei.com/bbs/dpj-40934-1.html

我之前想MISO(PA2)处于高电平,就一直等待,用了下面这条命令,MISO一直处于高电平,下面这条指令也很快跳过去了,使我误以为不能用GPIO读取电平
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2) == SET);

实际上将上面这条指令换成while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2) != RESET);就可以了,原因见上面的链接!
yongxiangu
7楼-- · 2019-12-30 16:00
yongxiangu 发表于 2017-5-14 01:31
今天试了一下,设置为SPI模式时,读取IO口是可以的,之前写的代码有问题,中了st库的一个坑,http://www. ...

谢谢分享,想起了之前把stm32的一个脚设置为外中断,然后在程序里读取pin的状态,始终无法正确判断。但是单步调试时一切正常,可能也是类似的错误,以后需要注意了

一周热门 更多>