STM8S在一个程序中,引脚能够分别作为输入和输出轮流变化使用吗?

2019-07-19 20:30发布

芯片 芯片 LED和按键 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都改变,结果都是一样。
    不知道搜索的关键字是不是不对,都没有找到有关的资料,只能在这边发帖麻烦一下大家了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。