在串行通讯的收发过程中,为了方便是按字符的方式来进行信息交换的,而这些信息要想要想影响计时器,则相应转换为计时器的相应参数值。 收发过程中涉及的转换代码如下: - while(1)
- {
- if(p) //接收后从字符串中提取时、分、秒参数
- {
- p=0;
- for(j=0;j<10;j++) send_char_com(cs[j]);
- // 获取初始值
- hh=(cs[0]-'0')*10+(cs[1]-'0');
- mm=(cs[3]-'0')*10+(cs[4]-'0');
- rtc=(cs[6]-'0')*10+(cs[7]-'0');
- // 启动计时器
- TR0 = 1;
- }
- else
- {
- if(f) // 出现秒计时变化时,将计时值转换为字符串方式发送
- {
- cs[0]=hh/10+'0';
- cs[1]=(hh%10)+'0';
- cs[3]=mm/10+'0';
- cs[4]=(mm%10)+'0';
- cs[6]=rtc/10+'0';
- cs[7]=(rtc%10)+'0';
- for(j=0;j<10;j++) send_char_com(cs[j]);
- f=0; // 防重复发送标志
- }
- }
复制代码 |