增加ABAC業務邏輯 稱重模組校準

2021-09-13 17:30:24 字數 1315 閱讀 1062

程式設計(放棄):

在記憶體頁0x0807e800設定flag

如果是0xff代表是新裝置沒有校準過--此後稱重模組任務掛起直到配置成功才走正常流程

如果是0x5a代表是舊裝置以及校準好--此後走正常流程

說明:人為恢復出廠設定會把flag清為0xff

程式設計(採納):

稱重任務一直走正常流程--當ble/net收到指令的時候跳到校準模式處理完畢在跳回來即可

無需flag 無需設計程式 只需要修改任務流程!

第一步:資料介面

藍芽bm77傳遞過來資料:

typedef struct

else

return urt;

} 第二步:流程處理

case scaleinit: scale.init(); break;

case scaleruning: scale.run(); break;

case scalecalib: scalecalibration(); break;

default: scale.abnormal(); break;

void scalecalibration(void)

else }

第三步:下發指令

string2bytes(write1250g,tem,strlen((const char*)write1250g),1);

tem[3] = (get_inputweight()&0xff000000)>>24;

tem[4] = (get_inputweight()&0x00ff0000)>>16;

tem[5] = (get_inputweight()&0x0000ff00)>>8;

tem[6] = (get_inputweight()&0x000000ff)>>0;

g_print(tem,maxcmdlen,0);

back = usart_send_receive_repeat(tem,strlen((const char*)write1250g)/2,100,1,&respone);

我在這裡好像錯誤了很多次!!

tem[3] = get_inputweight()&0xff000000;

tem[4] = get_inputweight()&0x00ff0000;

tem[5] = get_inputweight()&0x0000ff00;

tem[6] = get_inputweight()&0x000000ff;

隨手寫bug!

業務邏輯處理

功能的實現,都是依靠業務邏輯來完成的,記得看過不能完成業務邏輯的程式設計師都不會成長的,確實是的,最近在完成業務邏輯的時候,程式的業務判斷有很多的,所以開始接觸,設計模式,看到來一些設計模式,看結合專案,確實是可以根據設計模式來改寫的,so,懂得設計模式可以快速的,寫好的 的。關於函式同步和非同步之...

業務邏輯漏洞

業務邏輯漏洞是一類特殊的安全漏洞,業務邏輯漏洞屬於設計漏洞而非實現漏洞,是業務邏輯設計不嚴謹導致的漏洞。大多數業務邏輯漏洞沒有明顯的攻擊特徵,難以通過漏洞掃瞄的方式發現,也難以通過安全裝置來防護。繞過驗證 主要指身份驗證體系設計存在缺陷,可以使用某些技術手段繞過驗證機制冒用他人身份。越權訪問 主要指...

業務邏輯設計

1.action設計 shfwpgdzlbdmanager.copy mannager裡面的相應方法 shfwpgdzlbd.getbdtpid 傳入的引數從哪獲取,型別應和mannager的方法需要的引數型別相同 2.manager設計 設計之前宣告物件 private shfwpgdzlbdda...