Embedded: C Coding for Ctrl-C interrupt in u-boot terminal
我是嵌入式编程的初学者。我正在研究吊板(ARM Cortex A8)。源代码可在github上找到。
我创建了一个C代码,以使通过GPIO连接的外部LED闪烁。它可以作为命令在u-boot控制台中执行。当前,
我无法通过Ctrl-C停止LED闪烁。 Ctrl-C中断的编码在哪里?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ret=set_mmc_mux(); if(ret<0) printf("\ \ LED failed to glow!\ \ "); else{ if(!omap_request_gpio(lpin)) { omap_set_gpio_direction(lpin,0); for(i=1;i<21;i++) { ctr=0; if((i%2)==0) { num=num-1; omap_set_gpio_dataout(lpin,num); } else { num=num+1; omap_set_gpio_dataout(lpin,num); } udelay(3000000); } } } |
请引导我。
尝试使用uboot
1 2 | if(ctrlc()) return 1; // or whatever else you want to do |
您的工作水平较低,因此您需要使用的方法也很低级:
- 检查循环内的UART"数据可用"标志-这与硬件密切相关,但通常涉及读取寄存器,屏蔽掉某些位并查看是否设置了正确的位。
-
如果有数据,请检查它是否为CTRL-C(
0x03 )字符,如果有则退出,如果没有则退出
现在已经看过nneonneo的答案,我想这就是