嵌入式C语言编程

#include"systemInit.h"#include<string.h>#include<uart.h>//UART初始化voiduartInit(void){S... #include "systemInit.h"#include <string.h>#include <uart.h>// UART初始化void uartInit(void){ SysCtlPeriEnable(SYSCTL_PERIPH_UART2); // 使能UART模块SysCtlPeriEnable(SYSCTL_PERIPH_GPIOG); // 使能RX/TX所在的GPIO端口GPIOPinTypeUART(GPIO_PORTG_BASE,GPIO_PIN_0 | GPIO_PIN_1); // 配置RX/TX所在管脚为, UART收发功能UARTConfigSet(UART2_BASE, // 配置UART端口9600, // 波特率:9600UART_CONFIG_WLEN_8 | // 数据位:8UART_CONFIG_STOP_ONE | // 停止位:1UART_CONFIG_PAR_NONE); // 校验位:无UARTEnable(UART2_BASE); // 使能UART端口}// 通过UART发送字符串void uartPuts(const char *s){while (*s != '\0'){UARTCharPut(UART2_BASE, *(s++));}}// 主函数(程序入口)int main(void){int c,len;char s[300]="\nwjc:";jtagWait(); // 防止JTAG失效,重要!clockInit(); // 时钟初始化:晶振,6MHzuartInit(); // UART初始化uartPuts("cjw");for (;;){c = UARTCharGet(UART2_BASE); // 等待接收字符UARTCharPut(UART2_BASE, c); // 回显,显示出输入的字符if(c==13){uartPuts(s);len=strlen(s);}else if(c==8) //判断输入的是不是退格键{if(len==5) //判断已输入字符长度{ uartPuts("\a"); //蜂鸣报警声uartPuts(":");}else{len--;}} else{len++;}}}是这样的,这是一个用来开发控制台的程序,用C语言写的,上面那幅图片是打开这个程序的目录,这个只是一个main函数,还有其他函数,运行程序时是要将这个程序写入到开发板才能运行。我的目的是:当我输入退格键时,正常退格,输入回车键时,换行,这两个已经实现了,我用的是ASCII码中的十进制判断的;现在我也想用这种方法来判断上下左右方向键,也就是ASCII码中的37,38,39,40,但是我依葫芦画瓢后,貌似不能实现,不过我听有人说,这几个方向键不是一个ASCII码就能控制的,好像是需要几个,请问到底该怎样做啊。。雪地在线跪等。。。 展开
 我来答
chenyuiop
2012-11-13 · 超过11用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:11.3万
展开全部
在c语言里方向键的确定:
for(;;)
if(kbhit()) ;如果有键按下
{
str=getch();
printf("%C",str);
printf("%d"str);
}
就可以得到输入了,把他显示出来就知道是什么值了
千木a
2012-11-13
知道答主
回答量:25
采纳率:0%
帮助的人:11.8万
展开全部
先确定你使用的开发板的上下左右方向键的硬件是不是通过UART获取值的。

应该是你的开发板方向键没有使用UART获取值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
身文科7
2012-11-11 · TA获得超过140个赞
知道小有建树答主
回答量:506
采纳率:63%
帮助的人:66.9万
展开全部
方向键的ASCII有三个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式