2.你没有并侍在DEVICE中选择正确的设备,无法识肢哪别
3.你在做的是绝饥吵软仿真,需要设置为硬仿真。
是不是跳出来target selection空白框姿铅?有以下的可能:1 仿真器驱动安装不正确,造成IAR无法调用仿真器驱动,可以换成厂家提供的驱动版本;2 电脑、仿真器、模块之间没连好,造成IAR找饥差不到目标;3 上述都正确,把电脑重迹肢好启一下看看;我用的是杭州丘捷科技的开发平台,上述是自己使用一年多后总结出来的,基本可以解决。因为有一些需核塌念要由客户自己指定的数据,如WIFI的网络名、密码等,不能固定在下载程序中衫野,所以可以使用NV,由用户自己确定。
NV *** 作主要实际下面三个函数:osal_nv_item_init、osal_nv_write、osal_nv_read
关于cc2530NV读取的简单代码例子:
需要注意的是,虽然NV可写入地址范围从 0x0401 – 0x0FFF,但是一定要注意,地址应该是 %4=1,如:0x401为十进制1025,1025%4=1;不能是%4=0,至于为什么是%4,可以参改困照cc2530手册。
另外在某地址第一次读写时,结果可以使用!=SUCCESS来判断,但如果这个地址已经被初始化过并写入过数据,再一次被初始化过,如果还是用!=SUCCESS是不行的,因为此时即使没数据,但读取也是SUCCESS!
#define PATHS_ID 0x0601
#define WIFI_NAME 0x0A01
#define WIFI_PWD 0x0A29
void writeNV(){
osal_nv_item_init(PATHS_ID ,1,NULL)//每次写入前必须先初始化
uint8 sfcsh=0
uint8 su_b=osal_nv_write(PATHS_ID ,0,1,&sfcsh)//写入标志
uint8 su_n= osal_nv_item_init(WIFI_NAME,40,NULL)
uint8 su_p= osal_nv_item_init(WIFI_PWD,40,NULL)
if((su_b==SUCCESS)&&(su_n==SUCCESS)&&(su_p==SUCCESS)){
HalLcdWriteString("init _ok", HAL_LCD_LINE_1 )
}
}
uint8 readNV(){
uint8 * pshuju
uint8 yuu =osal_nv_read(PATHS_ID,0,sizeof(pshuju),pshuju)
if(yuu==SUCCESS){
if(* pshuju==0)
{
return 0
}else
{
return 1
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)