寄存器是这么用的
我知道是这样用的 但是我的写法是从GPIO_Inilize()函数里面直接拿出来用的
zhp 发表于 2023-11-7 15:00
GPIOx->Pin的值是每个I/O的bit mask,定义如下
那我那样赋值应该没有错吧 但是输出不对 不知道哪里错了 本帖最后由 zhp 于 2023-11-7 16:52 编辑
夕口山关 发表于 2023-11-7 15:28
那我那样赋值应该没有错吧 但是输出不对 不知道哪里错了
你这样赋值肯定不对啊,都和你说了
P10、P11、P30、P31这些都是定义的sfr
不能当常数使用
比如:P30定义为
sbit P30 = P3^0;
代码中读取P30,则是读取当前P3.0口的外部的高低电平的状态
怎么可能拿外部的电平状态来当作常数使用呢
你这种赋值完全是莫名其妙,能赋值正确才怪
如果实在不知道怎么配置I/O,就使用下载软件中的
I/O配置工具来生成配置代码吧
夕口山关 发表于 2023-11-7 15:23
我知道是这样用的 但是我的写法是从GPIO_Inilize()函数里面直接拿出来用的
按你的想法,应该这样写
P0M1 &=~GPIO_Pin_0;
P0M0 &=~GPIO_Pin_0;
gentleman 发表于 2023-11-7 18:37
按你的想法,应该这样写
P0M1 &=~GPIO_Pin_0;
P0M0 &=~GPIO_Pin_0;
噢噢 懂了 zhp 发表于 2023-11-7 16:49
你这样赋值肯定不对啊,都和你说了
P10、P11、P30、P31这些都是定义的sfr
不能当常数使用
明白了{:4_196:} 本帖最后由 夕口山关 于 2023-11-8 17:49 编辑
zhp 发表于 2023-11-7 16:49
你这样赋值肯定不对啊,都和你说了
P10、P11、P30、P31这些都是定义的sfr
不能当常数使用
用了你的方法 把串口2和3改成准双向口后 串口2和串口3依旧是在发送时 高电平只有很短的20ns(串口2)和280ns(串口3) 是串口2和串口3不能用准双向口模式?
页:
1
[2]