学前班
最后登录1970-1-1
在线时间 小时
注册时间2016-3-23
|
本帖最后由 枫暖寒冬 于 2016-3-30 21:16 编辑
楼主初学stm32,在做一个手势识别模块。在网上找到一个网友分享的基于战舰STM32F103开发板上模块代码,想把它移植到野火MINI-stm32F103VET6上。战舰STM32F103上的代码如下:
- //IO口操作函数
- #define IIC_SCL PBout(10) //SCL
- #define IIC_SDA PBout(11) //SDA
- #define READ_SDA PBin(11) //输入SDA
复制代码 PBout(n)函数定义如下
- #define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //输出
- #define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //输入
复制代码 其中BIT_ADDR(GPIOB_ODR_Addr,n)的定义如下:
- #define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum))
复制代码 其中MEM_ADDR(BITBAND(addr, bitnum))的定义:
- #define MEM_ADDR(addr) *((volatile unsigned long *)(addr))
复制代码
而GPIOB_ODR_Addr的定义是:
- #define GPIOB_ODR_Addr (GPIOB_BASE+12) //0x40010C0C
复制代码
我知道的是野火MINI开发板上I2C对应接口为PB6-I2C1_SCL,PB7-I2C1_SDA,我原来想把PBout(10)和PBout(11)分别改成PB6-I2C1_SCL和PB7-I2C1_SDA的地址就好了,不过如此的话PBin(11)又不清楚怎么改了?
现在的疑问是:
1)我的想法是否可行
2)怎么知道PB6-I2C1_SCL对应的地址
希望各位坛友帮忙看看
|
|