历史上的今天
今天是:2024年12月24日(星期二)
2020年12月24日 | TQ210裸机编程——按键点灯
2020-12-24 来源:eefocus
今天来谈谈裸机编程的步骤:
1、 首先查看TQ210的底板原理图:

这次编程只操作KEY1和KEY2,在TQ210核心板原理图中搜索XEINT0

可以看出KEY1和KEY2分别接在S5PV210的GPH0_0和GPH0_1引脚。
这次编程使用查询法,需要设置这两个引脚为输入模式,然后循环读取引脚状态,当用户按下按键时,对应引脚为低电平,同时改变LED状态。
查看S5PV210芯片手册


由此,我们根据查询法,写出代码如下:
#define GPC0CON *((volatile unsigned int *)0xE0200060)
#define GPC0DAT *((volatile unsigned int *)0xE0200064)
#define GPH0CON *((volatile unsigned int *)0xE0200C00)
#define GPH0DAT *((volatile unsigned int *)0xE0200C04)
void delay(volatile unsigned int t)
{
volatile unsigned int t2 = 0xFFFF;
while (t--)
for (; t2; t2--);
}
int main()
{
int key_val = 0;
int bit;
GPC0CON &= ~(0xFF << 12);
GPC0CON |= 0x11 << 12; // 配置GPC0_3和GPC0_4为输出:LED1和LED2
GPH0CON &= ~(0xFF << 0); // 配置GPH0_0和GPH0_1为输入:key1和key2
while (1)
{
key_val = GPH0DAT & 0x3;
if (key_val)
{
delay(500000); // 防抖延时
key_val = GPH0DAT & 0x3;
if (key_val)
{
if (0x01 == key_val) // key1
GPC0DAT ^= 1 << 3; // toggle LED1
else if (0x02 == key_val) // key2
GPC0DAT ^= 1 << 4; // toggle LED2
}
}
}
return 0;
}
史海拾趣
|
fpga的下载问题 我目前在使用altera 的cyclone EP28 ,在程序下载的过程中出现一个奇怪的问题。 使用quartusII打开programmer,点击start按钮,出现以下错误: Error: Can\'t access JTAG chain Error: Operation failed 我用的是开发板啊!J ...… 查看全部问答> |
|
case WM_CREATE: CreateWindow(TEXT(\"Combo Box\"),TEXT(\"\"), WS_VSCROLL | WS_BORDER | WS_VISIBLE | WS_CHILD, 100, 100, 205, 100, hWnd, (H ...… 查看全部问答> |
|
执行的代码如下: Dim strSQL As String dim strRemoteConnect as String strSQL = \"SELECT * from a\" strRemoteConnect=\"Provider=SQLOLEDB.1;data source=local;Initial Catalog=DBTest;user id=sa;password=sa\" Dim ceRDA As SSCE.Remo ...… 查看全部问答> |
|
我用的是320×240图形点阵液晶,现在可以在上面显示汉字了。 老板要求显示各种波形,请教高手那里可以找到这方面的资料,听说 要建立坐标系,还要研究各种图形的算法,有这么复杂吗?哪里能找 到这方面的资料? 谢谢您的关注!… 查看全部问答> |
|
最近是找工作的高峰期,请参加过面试得朋友谈谈如何从等消息中判断自己是否有戏和谈谈自己的面霸经历为后面的应届生介绍些经验。人生最痛苦的莫过于什么也不知道就是等消息~~~~~~~~~~~~~~~~~… 查看全部问答> |




