完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
1.由于涉及到串口, 编写矩阵键盘模块时切忌给P36,P37赋值。
#define set(x) P32=(x&0x04)>>2;P33=(x&0x08)>>3;P34=(x&0x10)>>4;P35=(x&0x20)>>5 #define get() (P3&0x3c) void keyscan() { set(0x0c); dat=get(); set(0x30); dat=(dat|get())^0xff; Trg=(dat&(dat^Cont)); Cont=dat; } 我这里用的是三行式,当然用经典那种delay行(列)扫描肯定也能实现,不过千万别有P36,P37 2.题目已经表明串口数据格式,最后一位必须是’n’!!!(我当时就没注意,把问题复杂化了,如果在发送窗口输了很长一串数据会怎么样,如果只输了一字节会怎么样…这涉及到你存放接收数据数组要设置多大,何时清0,还有何时error,相当复杂,当时脑子就想这**能写?!) 3.关于长按键,我的思路是设置一个标志位,按键按下阶段该标志位一直为1,当它置1超过一定时间便会执行长按键。` case 0xdb: //S13 key13=1; while(P35==0); key13=0; if(key13) { tt++; if(tt==1000) { longkey=1; qidong=!qidong; } } |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3458 浏览 1 评论
9000 浏览 16 评论
4051 浏览 18 评论
1110浏览 3评论
572浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
569浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2302浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1859浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 18:09 , Processed in 1.219322 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号