RISC-V MCU中文社区

【分享】 对UART0输入到串口的char型数据转换成16进制的寄存器常用int型相关处理

发表于 全国大学生集成电路创新创业大赛 2021-05-24 10:55:02
0
2250
0

参赛小队名:强强联合队。报名编号:CICC1316  

通过UART0接受到键盘输入的数据是char型的,这时候就会又出现一个问题,如果是char型的数据,直接转换成int型我们接收到的数据就变成ascii码了,比如输入0,但接收到转换成int型后显示的却是48,输入a显示的是97。

为了方便硬件寄存器得到想要的16进制数据,我们先要将char型转换成int型。

利用如图所示代码,即可根据ascii码的对照,将char型转换成int型数据。

然后我们又遇到个问题,若是想将uart0接受到的8个数据拼接成一个16进制数据又该如何做呢?

利用如下图所示代码即可:

通过简单的移位拼接,即可将接收到的8个数据拼接成1个16进制的数据。

如此,便可以将uart0得到的数据写给相应硬件寄存器中。

喜欢0
用户评论
三色阳光

三色阳光 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板