芯片
LED和按键
因为芯片和LED不在同一块PCB板,它们之间是用导线连接,为了减少导线数量,所以只采用了PC5和PC6
两个IO口来控制。
1.PC5和PC6为输出口。PC6输出高电平,PC5输出低电平,这时候绿灯亮;
2.PC5和PC6为输出口。PC6输出低电平,PC5输出高电平,这时候黄灯亮;
3.PC5为输出口,PC6为输入口,这时候PB2就可以正常采样,用来判断SM1和SW两个按键是否按下,以及是哪一个按键按下。
这时候PC6就要在输入和输出之间变化,结果造成串口一直主动发送数据FF。尝试过不变化输入和输出,都不会有数据发送,而且PC6直接作为输入端采样的结果是正确的。我在程序中试过只改变PC_DDR_DDR6的赋值和PC_DDR_DDR6、PC_CR1_C16、PC_CR1_C26都改变,结果都是一样。
不知道搜索的关键字是不是不对,都没有找到有关的资料,只能在这边发帖麻烦一下大家了。
原子哥,我上拉输入和浮空输入以及开漏输出和推挽输出都试过了,只要是切换模式就会有FF自动通过串口发出,不切换模式就不会,这有哪些原因会引起这个问题呢?因为已经自己想了很多天,自己能想到的可能性都试过了才来发帖寻求帮助的
说明有干扰,这种没办法避免,只能通过软件识别,处理。
一周热门 更多>