工具CCS10,协议栈5.10.00.48.
CC2642R调试过程中,使用float函数,可以运行一段时间,时而跑到一半卡死,复位后正常,时而卡死至无法识别芯片,复位也无效。已有两块单片机无法识别。即使是函数或逻辑出错,也不应该会损坏单片机吧?函数大概如下,是个OLED屏幕显示,先前在CC2640R1F上运行没有什么问题。
static void SimplePeripheral_performPeriodicTask(void)//定时一秒轮询定一秒轮询
{
static uint32_t uptime = 0;
char TempBuf[20]={0};
uptime++;
if(uptime>=255)
uptime = 0;
sprintf(TempBuf, "time = %3.1f",(float)uptime);
OLED_ShowString(0, 32, (u8*)TempBuf, 16,1);
}
//显示字符串
//x,y:起点坐标
//size1:字体大小
//*chr:字符串起始地址
//mode:0,反色显示;1,正常显示
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size1,u8 mode)
{
while((*chr>=' ')&&(*chr<='~'))//判断是不是非法字符!
{
OLED_ShowChar(x,y,*chr,size1,mode);
if(size1==8)x+=6;
else x+=size1/2;
chr++;
}
}



