完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我这个数码管只能显示0-15 我想显示0-99 可是如果我在服务程序直接写也是可以 可是我想有没有简便的方法?
void Scon_ser()interrupt 4 { UART_data=SBUF; RI=0; flag=1; if(UART_data == '0') NUM=0; if(UART_data == '1') NUM=1; if(UART_data == '2') NUM=2; if(UART_data == '3') NUM=3; if(UART_data == '4') NUM=4; if(UART_data == '5') NUM=5; if(UART_data == '6') NUM=6; if(UART_data == '7') NUM=7; if(UART_data == '8') NUM=8; if(UART_data == '9') NUM=9; if(UART_data == 'A') NUM=10; if(UART_data == 'B') NUM=11; if(UART_data == 'C') NUM=12; if(UART_data == 'D') NUM=13; if(UART_data == 'E') NUM=14; if(UART_data == 'F') NUM=15; } |
|
相关推荐
7个回答
|
|
知道咯 谢谢 我发的不知道十六进制的
|
|
|
|
表示没看懂。。。
|
|
|
|
就是我使用蓝牙模块嘛 然后我用手机发送F给单片机 单片机数码管显示15 那是因为我在串口服务函数里面有写==F num=15,我就想说如果我发送0-99的任意一个数都可以显示 不要说在服务函数里面写了0-99个这样if判断。
|
|
|
|
我用手机发送15 只接受到5 1没了 是不是因为他只接受一个字节。15表示的是两个字节。
|
|
|
|
直接用串口调试助手,看看结果
|
|
|
|
应该是发送的数据格式问题。发送数据的时候直接发送十六进制的数,比如0x01,0x35,0x99,这样接收的数据就可以直接显示了,
void Scon_ser()interrupt 4 { NUM=SBUF; RI=0; flag=1; } 。 |
|
|
|
好的 谢谢
|
|
|
|
只有小组成员才能发言,加入小组>>
269浏览 1评论
390浏览 1评论
511浏览 1评论
用PSOC6 BLE当外围设备,两者传输数据时,psoc6概率性出现蓝牙挂死的原因?
412浏览 1评论
是否有办法通过CYW20835板的固件发送BLE HCI命令?
378浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-20 00:37 , Processed in 1.023571 second(s), Total 91, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号