微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > 求各位大侠给小弟解释一下下面这个ARM程序。

求各位大侠给小弟解释一下下面这个ARM程序。

时间:10-02 整理:3721RD 点击:

//x 第几个数码管
//data 要显示的数据
//P 是否加小数点
void Show_Led(U8 x,U8 data,U8 P)
{
*LedDBuffer=((~(1<<x))<<8)+SHOWDATA[data]+P*0x80; //点亮第j段
}
其中
//声明总线地址
volatile U16 * LedDBuffer = (volatile U16 *)(0x2000000);
看不懂这个程序,不理解其中的意思,不明白是怎么让数码管亮的。这是一个控制数码管亮灭,用总线地址来同时控制数码管的段选和位选,不明白怎么回事。以前学其他单片机的时候,如51,AVR等,都是一个端口控制位选,一个端口控制段选,如P1控制位选,P2控制段选。现在ARM程序用总线地址的形式把控制数码管的段选和位选都整在一起,有点糊涂了,不明白什么意思,希望各位大侠赐教。



坐等高手吧!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top