发新帖我要提问
12
返回列表
打印
[STM32]

单片机IO口模拟SPI,读取不到发回来的数,确认管脚上有高...

[复制链接]
楼主: any012
手机看帖
扫描二维码
随时随地手机跟帖
21
zhaoyu2005 发表于 2015-8-21 08:36
STM32库函数
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{

看这段代码是转换了的,返回确实是0或1,
那就可能是其它地方的问题

使用特权

评论回复
22
any012|  楼主 | 2015-8-21 17:22 | 只看该作者
zhaoyu2005 发表于 2015-8-21 08:36
STM32库函数
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{

谢谢回复。
找到了bit_set的定义,是在个枚举里。
typedef enum
{ Bit_RESET = 0,
Bit_SET
}BitAction;


可是变量定义不是要先声明类型吗?BIT_RESET和BIT_SET都没有变量类型定义,并且BIT_SET也没有确定值,万一是0呢?

使用特权

评论回复
23
ayb_ice| | 2015-8-21 18:46 | 只看该作者
any012 发表于 2015-8-21 17:22
谢谢回复。
找到了bit_set的定义,是在个枚举里。


你这C语言基础还要加强啊

使用特权

评论回复
24
any012|  楼主 | 2015-8-22 09:10 | 只看该作者
ayb_ice 发表于 2015-8-21 18:46
你这C语言基础还要加强啊

查了下枚举,枚举里第一个值默认是0,往后依次加1。

使用特权

评论回复
25
any012|  楼主 | 2015-8-22 14:29 | 只看该作者

怀疑是经过光耦后有延时,但用示波器测量单片机的相关引脚,得到上图。
黄色是SCLK,蓝色是MISO,在比较宽的16个SCLK脉冲阶段,有高电平持续时间,按理说应该能检测到。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则