STMF4 自己写的头文件中宏定义遇到BSRR找不到的问题(已包含了头文件stmf4xx.h)

2019-07-20 08:10发布

在工程模板中建立了IIC.H   并在其中 写了如下
#ifndef __IIC_H
#define __IIC_H
#include "stm32f4xx.h"
#include "sys.h"
#include "delay.h"

/*模拟IIC端口输出输入定义*/
#define SCL_H GPIOB->BSRR = GPIO_Pin_6
#define SCL_L GPIOB->BRR  = GPIO_Pin_6

在IIC.C里面调用SCL_H时候被警告..HARDWAREMPU6050IIC.C(84): error:  #136: struct "<unnamed>" has no field "BSRR"
于是跑去头文件找BSRR的Definition . 结果显示undefined.  又跑去头文件找这个玩意.  只找到了BSRRH BSRRL。 为什么买的STM32F4里面124页有BSRR使用 而我这里没有找到BSRR呢,我在F1就可以这么用.    包含了头文件吖....晕了一早上...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
lvehe
1楼-- · 2019-07-20 11:26
STM32F4已经不使用BSRR和BRR了,你用BSRRH和BSRRL代替就行,这种命名比以前更容易理解。
#define SCL_H GPIOB->BSRRH = GPIO_Pin_6
#define SCL_L GPIOB->BSRRL = GPIO_Pin_6
包子
2楼-- · 2019-07-20 13:25
哦哦,好的.谢谢  那就是说正点原子的书精通STMF4,里面第124页上面的BSRR BRR写法不对咯.我标注下.
zhou792008
3楼-- · 2019-07-20 15:59
 精彩回答 2  元偷偷看……

一周热门 更多>