现在使用pickit3加上AC244051仿真头来仿真PIC16F1503的程序:
程序如下:
#include <pic.h>
#include "spi.h"
#include "pwm.h"
//#include "mcu.h"
#include "timer.h"
#define IRCF 0X7A
volatile U8 rx_array[5]={0};
void main (void)
{
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&CLKOUTEN_OFF&BOREN_ON&CP_OFF&MCLRE_ON);
__CONFIG(LVP_OFF);
OSCCON |= IRCF ; // 内部时钟16M
Delay_us(200);
TRISA &= (~BIT4) ;
Init_Timer0 ();
Init_Spi ();
Init_NRF24L01();
while (1)
{
SetRX_Mode();
nRF24L01_RxPacket (rx_array);
if(rx_array[3]==0x66)
LATA |= BIT4 ;
Delay_us(72);
LATA &=~ BIT4 ;
}
}
但是我现在在 if(rx_array[3]==0x66)处设置断点,查询rx_array数组中的数据,但仿真器中始终显示0,这个是无线接收端的数据,另外一个发射端不断在发射数据,这个接收端不断在接收数据,现在要查看接收端收到的数据对不对
但是将程序烧写进芯片,程序正常,成功收到发射端发射的数据,(LATA |= BIT4 ;接了一个LED灯来判断是否收到正确数据)
就是奇怪为什么仿真查询不到数据,还有请教一下仿真器中可以查看那些数据,以前很少用仿真器,都是直接调试
|