我研究gpio的时候,发现了个奇怪的问题。
我在修改这个函数的时候,发现led不是按照应该的顺序来的。
void Led_RW_ON(void)
{
GPIO_SetBits(GPIOC, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_4 | GPIO_Pin_5);
}
习惯思维认为GPIO_Pin_6对应的LD1,GPIO_Pin_7对应LD2,GPIO_Pin_4对应LD3,GPIO_Pin_5对应LD4,但是不是。而且还有点混乱了。
先看原理图
led1对应pc4,led2对应pc5,led3对应于pc6,led4对应于pc7,这么看起来,好像是对应的很好,可是接着看下图就发现了。
在这里的时候,他又调了个位置,颠倒了。所以初步看起来有些混乱,到底哪个控制那个,对这程序来看不免有些不解。(仔细点其实也没什么大不了)
所以,我觉得,程序特别是例程,跟人一个直观的感觉和初学者一眼就能够知道怎么回事比较放心。就上面来看,绕了几道弯之后,才发现PC7原来才是控制LD1的,PC6控制LD2,PC5控制LD3,PC4控制LD4的。其实这个关系挺好的,,就是例程里面搞得有点晕。嘿嘿,不要说这是小题大做,程序打了之后,特别是led,很容易搞反,有时候还要取反操作,还要与或等,搞不好就搞反了逻辑或者搞错了对象了。
以上仅个人愚见,大虾们不要见笑。
用户518079 2008-10-4 11:41
用户1199654 2008-8-12 14:11
用户154657 2008-8-12 10:50
用户152087 2008-8-12 10:37
用户1158167 2008-8-9 23:12
hendiao 2008-8-7 14:19
用户162166 2008-8-6 23:57
用户461316 2008-8-6 20:03
hendiao 2008-8-6 18:55
用户1393719 2008-8-6 14:39