Перейти к содержанию
    

Si1000/IAR8051/EzMacPro 3.0.1

Добрый день

Занимаюсь контроллером Si1000 в связке с IAR+C-Spy. Пробую запустить стек от производителя,однако столкнулся с проблемой, при инициализации работы стека вываливаюсь в ошибку fEZMacPRO_StateErrorEntered=1 и при выполнении функции EZMacPRO_Init() останавливаюсь на while (EZMacProReg.name.MSR != EZMAC_PRO_IDLE). Вывод NIRQ заведен Р0.1, на P1.7 и P2.0 светодиоды.

тактовую частоту завожу:

OSCICN      |= 0x80; //24,5MHz
    CLKSEL      = 0x00;
    FLSCL       = 0x40;
    FLWR        = 0x01;

    /* Wait for clock to get ready. */
    while(!(CLKSEL & 0x80));

Настройка портов следующая

SBIT (SDN, SFR_P2, 5);
SBIT(NSS, SFR_P1, 3);
//////////
XBR1    |= 0x40;                     // Enable SPI1 (3 wire mode)
   P1MDOUT |= 0x95;                    // SCK1, MOSI1, & NSS1,push-pull
   SFRPAGE   = CONFIG_PAGE;
   P1DRV     = 0x15;                   // MOSI1, SCK1, NSS1, high-current mode
   SFRPAGE   = LEGACY_PAGE;
   SDN = 0;
   XBR2 |= 0x40;
   //SDN = 0;
   NSS = 1;
   P2MDOUT |= 0x41;                    // SDN P2.6 push-pull

   P2DRV   |= 0x40;                    // SDN  P2.6 high-current mode
  
   IT01CF    = 0x01;                   // INT0 mapped to P0.1 active low
   TCON &= ~0x03;

 

main.c и настройки стека. На шаге инициализации стека виснем в ошибке

#define SYSCLK_HZ                     (24500000)
#define SYSCLK_KHZ                    (SYSCLK_HZ/1000)
#define FREQUENCY_BAND_868
#define TRANSCEIVER_OPERATION
#define FOUR_CHANNEL_IS_USED
#define EXTENDED_PACKET_FORMAT
#define PACKET_FORWARDING_SUPPORTED

PORT_Init ();
   SystemClkInit();
   Timer3Init();
   LED1= false;
   LED2= false;
    StateMachine_Init();
while (1){   
  
    switch(DEMO_SR)
    {
        case /*DEMO_SR_STATE_BOOT_BIT*/0x10:
            /* Initialise board. */
                       /* Enable global interrupts. */
            ENABLE_GLOBAL_INTERRUPTS();
            /* Initialise EZMacPRO. */
            EZMacPRO_Init();
            /* Wake up from Sleep.*/
            EZMacPRO_Wake_Up();

Изменено пользователем evsx1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разобрался сам,проблема была во времени старта кварца. Дефолтное значение 1,5мс, мой стартует за 2мс

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...