stm32f103c8t6只有部分I/O能用

2019-07-21 07:12发布

我用PB6 PB7 仿了一个IIC协议,把其改为其他口后就不能用了这是改后的代码
#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<20;}//  00100
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<20;}//  00011

#define IIC_SCL    PBout(4)                 //SCL
#define IIC_SDA    PBout(5)                 //SDA         
#define READ_SDA   PBin(5)                          //ê&#228;è&#235;SDA

这是改前的代码
//IO方向设置
#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;}//  00100
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;}//  00011

//IO操作函数         
#define IIC_SCL    PBout(6)                 //SCL
#define IIC_SDA    PBout(7)                 //SDA         
#define READ_SDA   PBin(7)                          //输入SDA

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
275891381
1楼-- · 2019-07-21 08:46
B3 B4 A15是jtag  关闭jtag就可以了
赵明剑
2楼-- · 2019-07-21 12:02
 精彩回答 2  元偷偷看……
275891381
3楼-- · 2019-07-21 12:05
赵明剑 发表于 2018-12-3 20:05
怎么关闭啊

方向都指给你了,你去百度吧
peng1554
4楼-- · 2019-07-21 17:33
赵明剑 发表于 2018-12-3 20:05
怎么关闭啊

用标准库的话这个函数可以禁用JTAG而是要SWD
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable)
Acuity
5楼-- · 2019-07-21 21:12
一般情况下,IO够用时不要用jtag相关的IO口。

一周热门 更多>