智能车制作
标题: 同学们,发福利啦!超核库如何改变引脚映射问题。倾情奉献,只为报恩。 [打印本页]
作者: 爱可死/X 时间: 2013-11-5 22:08
标题: 同学们,发福利啦!超核库如何改变引脚映射问题。倾情奉献,只为报恩。
本帖最后由 爱可死/X 于 2013-11-5 22:13 编辑
再发一次。刚刚打了半个小时的文字,网页一卡,啥都没了。气死了。但是本这以人为本的心,还是重新写一遍。
超核库,我选择,我喜欢。嘻嘻
刚刚遇到一个问题,I2C引脚被占用了,但是超核库里面只有四个定义
#define I2C0_SCL_PB0_SDA_PB1 (0x00040210U) //SCL-PB0 SDA-PB1
#define I2C0_SCL_PB2_SDA_PB3 (0x000c2210U)
#define I2C1_SCL_PE1_SDA_PE0 (0x00001641U)
#define I2C1_SCL_PC10_SDA_PC11 (0x002ca221U)
正当惆怅中,去“寻医问药”,无果,最后还是超核的编写者,亲自手把手指导了一下,才明白。现在来反哺一下,不喜勿喷谢谢。
需要先明白下面这个结构体:
typedef struct
{
uint32_t I2C_Index:4;
uint32_t I2C_GPIO_Index:4;
uint32_t I2C_Alt_Index:4;
uint32_t I2C_SCL_Pin_Index:6;
uint32_t I2C_SDA_Pin_Index:6;
uint32_t I2C_Reserved:8;
}I2C_MapTypeDef;
:后面的:N 代表位数。
很神奇的是:4+4+4+6+6+8= 32位。确实,不是巧合。
第一个 I2C_Index:4; 代表I2Cx ( x=0.1.2.……) 看芯片IIC有多少个咯
第二行:I2C_GPIO_Index:4; 代表PORTx ( x=0.1.2.……15) 刚好对应A到E
第三行:这是一个管脚映射,数据手册上有滴。 PortE iic 对应 alt = 6不信去查查看咯。
第四行: I2C_SCL_Pin_Index:6; 6位,刚好表示0-31 就是选择SCL定义为portx 的第几位。
第五行:同第四行咯。
第六行:比较有意思,是保留位。8位。毕竟这是模仿stm32的方式。所以,多出几位也很正常蛤。保留这,没准以后有用滴。
这样,我们就凑足了32位。
现在举例子蛤:{1, 4, 6, 1, 0,0}, //I2C1_SCL_PE1_SDA_PE0
1:选择 IIC1
4: 选择 portE
6:PortE iic 对应 alt = 6
1:选择PORTE.1 SCL
0: 选择PORTE.0 SDA
0: 保留位值
于是乎我们得到了这6个值。从上网下,为低到高。
现在我们从高到底排列不就是(0x00040210U)?
现在再看#defineI2C0_SCL_PB0_SDA_PB1 (0x00040210U)
懂了没?
所以要改变引脚映射,需要重设置这几个值就可以啦。理解了,也很容易的。本人第一次发表,所以不会发图,抱歉了蛤。有兴趣可以加我35157483,本人小车摄像头,有兴趣可以交流交流,伸手党就免了蛤。
好了,任务完成,再次感谢超核给我省了很多麻烦,也感谢刚刚指导我的那个朋友。再次感谢!
同时也支持超核库2.4.虽然是刚刚出,但是,非常给力!
作者: 爱可死/X 时间: 2013-11-5 22:19
回帖是一种美德蛤
作者: 蛋蛋不孤单 时间: 2013-11-5 22:51
我用的也是超核,学习下,以后应该用的着,只是现在没大看懂
作者: 9616 时间: 2013-11-5 23:14
太麻烦啦,我用拉普兰德的K60库,可以在初始化时随意设置I2C的复用引脚,根本不用改他的底层代码。。。我喜欢,我选择:lol
作者: -Lamborghini 时间: 2013-11-6 11:50
赞一个!分享精神值得鼓励!!
作者: Element. 时间: 2013-11-6 16:26
同用超核的库。超喜欢
作者: 爱可死/X 时间: 2013-11-6 18:29
兰普拉德的库我也看过,比较详细,但是,整个构架不是那么好。学过arm的人肯定会选超核的。对野火一直有偏见,虽然用的人挺多的……官方有一个,也不错的哦。就是要改结构太难了
作者: 爱可死/X 时间: 2013-11-12 22:35
没事干,给自己顶一下。虽然自己都看不懂,偶也:lol:lol
作者: 爱可死/X 时间: 2013-11-13 18:10
队友不给力啊,有人叫我今早跳坑,我该怎么办呢? 火起来一个人搞摄像头,
作者: 490997353 时间: 2014-3-19 11:33
看不懂,乱
作者: 刘旺小盆友 时间: 2014-3-19 12:39
学习下
作者: 無名指 时间: 2014-3-19 18:28
作者: liu521 时间: 2017-3-14 21:48
我想问下那个 RST D/C的引脚在哪找
欢迎光临 智能车制作 (http://dns.znczz.com/) |
Powered by Discuz! X3.2 |