int main (void) { uint8_t data = 0; uint32_t len = 0; //SystemClockUpdate(); SystemCoreClockUpdate(); init_i2c(); uart2_init(115200, CHANNEL_A); // Control de flujo: NINGUNO DACInit(); uart2_sendString((uint8_t*)"\r\nModulador PSK\r\n"); while (1) { len = uart2_receive(&data, 1, FALSE); if (len > 0) { uart2_send(&data, 1); procesarBytes(data); } Timer0_Wait(50); } }
int SLIPEncodedSerial::sendMessage(const uint8_t *buf, uint32_t len) { uint32_t i; encode(buf, len); for (i = 0; i < encodedLength; i++) { uart2_send(encodedBuf[i]); } return encodedLength; }
//--------------------------------------------------- //模式切换上报 void send_mode() { buffer[0]=0xfe; buffer[1]=0x05; buffer[2]=0x08;//command buffer[3]=0x0a; buffer[4]=curr_mode; buffer[5]=check_sum(buffer,5); uart2_send(buffer,6); }
//----------------------------------------------------------- //上传完成,上报 void send_finish() { buffer[0]=0xfe; buffer[1]=0x05; buffer[2]=0x08;//command buffer[3]=0x0a; buffer[4]=0xab; buffer[5]=0xb7; uart2_send(buffer,6); bat_upload=0; }
void ucom_sendString(uint8_t port, uint8_t *msg){ switch(port){ case UART0: uart0_send(msg); break; case UART2: uart2_send(msg); break; default: //error occured break; } }
//================================================================ //返回版本信息, void send_version_info() { uint8_t i=0; buffer[0]=0xfe; buffer[1]=0x05; buffer[2]=0x05;//command buffer[3]=0x0e; for(;i<12;i++) buffer[4+i]=serian_no[i]; buffer[4+i]=main_ver; buffer[5+i]=sec_ver; buffer[6+i]=check_sum(buffer,6+i); uart2_send(buffer,7+i); }
//发送命令 //================================================================ //发送确认命令 //fe 05 01 01 ab b0 ;fe 05 01 01 ae b3 //flag=1 发送成功确认,0-发送失败确认 void send_shakehand(uint8_t flag) { buffer[0]=0xfe; buffer[1]=0x05; buffer[2]=0x01;//command buffer[3]=0x01; if(flag==1) { buffer[4]=0xab; buffer[5]=0xb0; } else { buffer[4]=0xae; buffer[5]=0xb3; } uart2_send(buffer,6); }
//--------------------------------------------------- //传输传感器数据 void send_sensor_data() { uint8_t *temp=NULL; uint8_t i=0; buffer[0]=0xfe; buffer[1]=0x05; buffer[2]=0x06;//command buffer[3]=0x05; if(current_mode==3) temp=(uint8_t *)&(current_sensor_data.sleep_status); else temp=(uint8_t *)&(current_sensor_data.step_count); memcpy(&buffer[4],temp,3); buffer[7]=current_sensor_data.hrs_rate; buffer[8]=batt_status; buffer[9]=check_sum(buffer,9); uart2_send(buffer,10); }