目前在调试E93196红外传感器,MCU给传感器发送setup时序的时候,如果打包一次性发就会出现RAM溢出错误,相反,每次发一个byte,分四次发就不会有这个问题。
下面是相应的代码和转成汇编的解释以及错误提示,请大神指教为何会出现这样的情况。十分感谢
#if MY_DEBUG > 0 // debug ok
void pir_send_data(unsigned char param)
{
unsigned char j;
{
for(j = 0;j < 8;j++)
{
if((param << j) & 0x80)
PIR_SERIN = 1;
else
PIR_SERIN = 0;
my_delay(10);
//k++;
}
}
}
#else // error version
void pir_send_data(unsigned char *params)
{
unsigned char i,j,k=0;
for(i = 0;i < 4;i++)
{
for(j = 0;j < 8;j++)