玩stc15的4串口通信,down了個單串口通信的案例,改成4串口。里面有個串口發送處理的回調函數,參數是字符串指針和字符串長度。
typedef uchar(*MB_SendDatas)(uchar *,uchar) ;
現在4串口需增加個串口號參數:
typedef uchar(*MB_SendDatas)(uchar *,uchar,uchar) ;
編譯報錯:error C212: indirect call: parameters do not fit within registers
定義增加了重入 reentrant 編譯能通過,運行發送完正常數據后總會跟一串的0x00,調試發現字符串長度在調用 MB_SendDatas 之前是正常的,但調用之后就改變了。
不得已改回原本的兩個參數,把串口號改成全局變量測試正常。
|