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