自定協(xié)議:該協(xié)議分為頭部、數(shù)據(jù)部、尾部三個部分,默認(rèn)狀態(tài)為高電平,協(xié)議頭部為持續(xù)4ms低電平,數(shù)據(jù)部為1-12ms的高電平(分別對應(yīng)不12個擋位),尾部為持續(xù)4ms的低電平。
創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、成都小程序開發(fā)、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。接收:識別頭部、數(shù)據(jù)部分、尾部,并通過識別到的協(xié)議選擇擋位。
示意圖代碼 發(fā)送(CW32單片機(jī))只是把關(guān)鍵函數(shù)寫出來供大家學(xué)習(xí),并沒有把整套代碼copy過來。
void Send_Protocol()
{if(Protocol_Status)
{if(Time_Send_Protocol >=1){ Protocol_cnt++;
Time_Send_Protocol = 0;
}
if(Protocol_cnt<= FIXED_4MS){//4ms
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,GPIO_PIN_RESET);
}
else if(Protocol_cnt<= Protocol_time + FIXED_4MS){//4ms + N ms
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,GPIO_PIN_SET);
}
else if(Protocol_cnt<= (Protocol_time + 2 * FIXED_4MS)){//4ms + N ms +4ms
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,GPIO_PIN_RESET);
}
else{ HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,GPIO_PIN_SET);
Protocol_Status = 0;
Protocol_time = 0;
}
}
}
接收(九齊單片機(jī))//直接全程用延時
void Check_Protocol(void){
if(PORTBbits.PB2 == RESET)
{delay_time = 0;
recv_num = 0;
delay_500us();
while(PORTBbits.PB2 != SET)
{ delay_time++;
delay_1ms();
if(delay_time >= 20){ return;
}
}
if(delay_time<2|| delay_time>5)
{ return;
}
while(PORTBbits.PB2 == SET)
{ recv_num++;
delay_1ms();
if(recv_num >= 50){ return;
}
}
delay_time =0;
while(PORTBbits.PB2 != SET)
{ delay_time++;
delay_1ms();
if(delay_time >= 20){ return;
}
}
if(delay_time<2 || delay_time>5)
{ return;
}
}
if(PORTBbits.PB3 == RESET)
{
delay_time = 0;
recv_num = 0;
delay_500us();
while(PORTBbits.PB3 != SET)
{ delay_time++;
delay_1ms();
if(delay_time >= 20){ return;
}
}
if(delay_time<2|| delay_time>5)
{ return;
}
while(PORTBbits.PB3 == SET)
{ recv_num++;
delay_1ms();
if(recv_num >= 50){ return;
}
}
delay_time =0;
while(PORTBbits.PB3 != SET)
{ delay_time++;
delay_1ms();
if(delay_time >= 20){ return;
}
}
if(delay_time<2 || delay_time>5)
{ return;
}
}
//exc
if(recv_num != 0){iic_SwitchSend(recv_num);
recv_num = 0;
}
else{return;
}
}
數(shù)據(jù)選擋#define Gear0 (10)
#define Gear1 (20)
#define Gear2 (30)
#define Gear3 (40)
#define Gear4 (60)
#define Gear5 (80)
#define Gear6 (100)
#define Gear7 (120)
#define Gear8 (140)
#define Gear9 (160)
#define Gear10 (180)
#define Gear11 (250)
void iic_SwitchSend(uint8_t recv){iic_init(); //重新初始化
iic_sdin_set();
iic_sclk_set(); //先拉高,準(zhǔn)備發(fā)送
delay_1ms();
switch(recv){case 1:
//Gear0
break;
case 2:
//Gear1
break;
case 3:
//Gear2
break;
case 4:
//Gear3
break;
case 5:
//Gear4
break;
case 6:
//Gear5
break;
case 7:
//Gear6
break;
case 8:
//Gear7
break;
case 9:
//Gear8
break;
case 10:
//Gear9
break;
case 11:
//Gear10
break;
case 12:
//Gear11
break;
default:
break;
}
}
該協(xié)議已經(jīng)上兩個單片機(jī)驗(yàn)證過,沒有問題。
非常感謝各位的觀看!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前題目:自定義協(xié)議——CW32與九齊051f-創(chuàng)新互聯(lián)
文章鏈接:http://jinyejixie.com/article30/djsepo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、網(wǎng)站策劃、商城網(wǎng)站、微信公眾號、軟件開發(fā)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容