void HMISendstart(void) { delay_ms(200); HMISendb(0xff); delay_ms(200); HMISends("t1all.txt=\"\""); HMISendb(0xff); } void HMIpassword(void) //ÉèÖÃdataΪÃÜÂë { HMISends("va0all.txt="); HMISends("\""); HMISends(TEXT_Buffer); HMISends("\""); HMISendb(0xff); } //ʱ¼äÉèÖú¯Êý HMItimesetup(15,36,59) void HMItimesetup(u8 HIM_h,u8 HIM_m,u8 HIM_s) { char time[2]="\0\0"; time[0]=HIM_h/10+48; time[1]=HIM_h%10+48; HMISends("rtc3="); HMISends(time); HMISendb(0xff); time[0]=HIM_m/10+48; time[1]=HIM_m%10+48; HMISends("rtc4="); HMISends(time); HMISendb(0xff); time[0]=HIM_s/10+48; time[1]=HIM_s%10+48; HMISends("rtc5="); HMISends(time); HMISendb(0xff); } int HMIreturn(void) { //½ÓÊÕÃÜÂëÅжϽá¹û µ½´®¿Ú2 sendto´®¿Ú1 if(USART_RX_STA2&0x8000) { USART_RX_STA2=0; return (USART_RX_BUF2[0]-48); } return 2; }
时间: 2024-04-18 15:33:52 浏览: 132
用计数器中断实现100以内的按键计数
这段代码定义了几个函数。
HMISendstart函数用于发送一系列指令到HMI,实现初始化的操作。函数中使用了延时函数delay_ms,分别延时200毫秒后调用HMISendb函数发送0xff,再延时200毫秒后调用HMISends函数发送"t1all.txt=\"\""指令,最后再次调用HMISendb函数发送0xff。
HMIpassword函数用于向HMI发送密码设置的指令。函数中使用了HMISends函数依次发送"va0all.txt="、TEXT_Buffer数组内容和0xff。
HMItimesetup函数用于向HMI发送时间设置的指令。函数中首先根据传入的小时、分钟和秒钟参数生成两个字符数组time,然后使用HMISends函数依次发送"rtc3="、time数组内容和0xff,再依次发送"rtc4="、time数组内容和0xff,最后依次发送"rtc5="、time数组内容和0xff。
HMIreturn函数用于判断是否接收到HMI发送的密码结果。如果USART_RX_STA2变量的最高位为1,即接收完成,将USART_RX_BUF2数组的第一个元素减去48后返回,否则返回2。
这些函数的作用是向HMI发送不同的指令以实现初始化、密码设置和时间设置,并且可以接收并判断HMI发送的密码结果。
阅读全文