对芯片的RAM、sfr寄存器、xfr寄存器写入指定数据,
然后读出进行对比,判断读写是否正常。
注意:部分寄存器是只读或者只写
读写寄存器进行判断:
-
- P6M1 = 0x55; P6M0 = 0xaa;
- printf("P6M1 = 0x%02bx, P6M0 = 0x%02bx\r\n",P6M1,P6M0); //sfr
- if((P6M1 != 0x55) || (P6M0 != 0xaa))
- {
- printf("test error.\r\n");
- }
- else
- {
- printf("test ok.\r\n");
- }
-
- P1PU = 0xec;
- P3PU = 0x55;
- printf("P1PU = 0x%02bx, P3PU = 0x%02bx\r\n",P1PU,P3PU); //xfr
复制代码
读写RAM进行判断:
-
- u8 i;
- for(i=0; i<IDATA_LENTH; i++) idataBuffer[i] = 0x55;
- for(i=0; i<IDATA_LENTH; i++)
- if(idataBuffer[i] != 0x55)
- {
- return 1; //测试0x55错误
- }
-
- for(i=0; i<XDATA_LENTH; i++) xdataBuffer[i] = 0xaa;
- for(i=0; i<XDATA_LENTH; i++)
- if(xdataBuffer[i] != 0xaa)
- {
- return 2; //测试0xaa错误
- }
复制代码
|