遇到个奇葩问题,用keil u4 编译个51程序,有些函数不执行?

2020-01-27 11:27发布

把这个程序烧到stc12单片机上,串口收到的数据经竟然没有经过加密处理,把key_buf定义成全局的也不行??

我确认加密程序没有问题。

难道是编译器把这个子函数忽略了?还是直接优化掉了?

有人遇到过类似问题么?


void RF_Txkey(uchar add,uchar data1,uchar data2,uchar data3) //数据加密发送
{       
        uchar data key_buf[8]={1,2,3,4,5,6,7,8};       
        key_buf[4]=data1;
        key_buf[5]=data2;                               
        key_buf[6]=data3;                               
        key_buf[7]=add;
                                                    
         //加密上面的数据 ,然后串口发送出去
                        Encrypt(key_buf,TEAkey);
                               

                                        kinbuf=key_buf[0];Com_go();
                                        kinbuf=key_buf[1];Com_go();                                               
                                        kinbuf=key_buf[2];Com_go();
                                        kinbuf=key_buf[3];Com_go();
                                        kinbuf=key_buf[4];Com_go();
                                        kinbuf=key_buf[5];Com_go();
                                        kinbuf=key_buf[6];Com_go();       
                                        kinbuf=key_buf[7];Com_go();
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。