完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
哪个大哥帮我看这段代码是什么意思,STM32f4的!
/通过拼凑的方法向OLED输出一个8位数据 //data:要输出的数码 //8位对应的引脚为PE6/PE5/PB6/PC11/PC9/PC8/PC7/PC6/ void OLED_Data_Out(u8 data) { u16 dat=data&0X0F; GPIOC->ODR&=~(0XF<<6);//清空6~9 GPIOC->ODR|=dat<<6;//D[3:0]-->PC[9:6] GPIO_Write(GPIOC,dat<<6); PCout(11)=(data>>4)&0X01;//D4 PBout(6)=(data>>5)&0X01;//D5 PEout(5)=(data>>6)&0X01;//D6 PEout(6)=(data>>7)&0X01;//D7 } 最后那四行是输出高四位,这我能看明白,但前面那几行我实在看不懂,它用ODR寄存器来输出低四位,它是怎么做到让PC9.8.7.6输出低四位的?哪位大哥帮小弟解释一下! |
|
相关推荐
1个回答
|
|
邀请回答
嗨,您好,這幾行就是再輸出低4位喔 u16 dat=data&0X0F; //取得低4位 GPIOC->ODR&=~(0XF<<6);//清空6~9 GPIOC->ODR|=dat<<6;//D[3:0]-->PC[9:6],左位移對應的Register欄位並寫入 GPIO_Write(GPIOC,dat<<6); //左位移寫入GPIO低4位,但這行會將其他位也改動到,這行應該有問題,應該要去掉 以上供參考 |
|
|
|
只有小组成员才能发言,加入小组>>
696 浏览 1 评论
2123 浏览 5 评论
2437 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2201 浏览 6 评论
2166 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
317浏览 9评论
307浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
439浏览 6评论
301浏览 5评论
349浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-28 12:19 , Processed in 0.756083 second(s), Total 75, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号