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

Asm_lock

Участник
  • Постов

    78
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Asm_lock

  • Звание
    Частый гость
    Частый гость
  • День рождения 28.12.1979

Информация

  • Город
    Array

Посетители профиля

2 388 просмотров профиля
  1. Насколько я знаю, в пиках флешак стирается страницами... void FlashPageErase(uint16_t Adru, uint16_t Adr) { uint16_t saveTBLPAG = TBLPAG; TBLPAG = Adru; __builtin_tblwtl(Adr, 0); #if defined( __dsPIC33E__ ) NVMADRU = Adru; NVMADR = Adr; #endif NVMCON = FLASH_PAGE_ERASE_CODE; SET_CPU_IPL(7); __builtin_write_NVM(); while (NVMCONbits.WR) {} NVMCON = 0x0001; TBLPAG = saveTBLPAG; SET_CPU_IPL(0); }
  2. Исходники Modbus для dsPIC33

    Здравствуйте уважаемые коолеги. Возникла неаобходимость зацепить на UART dsPIC'a modbus. Единсвенное что нашел, так это freemodbus-v1.5.0 в сырцах которого, как оказалось нету демки для пиков. Буду очень признателен если кто поделится ссылкой на проект с хорошим описанием. Спасибо.
  3. Всем Большое СПАСИБО !!!! Разобрался. Каким то образом, но программа скомпилированная в XC16 через Эклипс работала быстрее чем та которая через MPLAb. Поэтому в эклипсовской версии проблем и не было. Выяснил что не работает функция стирания FLASH. Програ где то зависает, непонятно где. Дизассемблер тоже работать отказался. Воспользовался "PIC Memory Views". Определил, что прога тупо уходит в ресет. Во общем, из-за того что программа почему то работала медленнее , WDT сбрасывался и не очищался.
  4. Всем здравствуйте. Возникла проблема с переносом проекта из Eclipse в MPLab. В эклипсе проект собирался под XC v1.24, все отлично зашивалось. Решил вот создать проект в MPLab (компилятор тот же) и подцепить к нему все сырцы и ашники... Все замечательно собирается и прошивается без ошибок. Нооо !!! Не работает запись во флеш !!!! Что то намудрил с настройками памяти... есть правда файл *.gld. Но такое ощущение что он не цепляется...
  5. Увеличил размер FIFO в регистре UARTx_PFIFO до 64 слов.... И начал чистить его как только выползал флаг OR в регистре UARTx_S1. Уже два часа работает без глюков...
  6. Спасибо что спросили.... в инициализации только вот это прописано... UART_HAL_SetRxFifoWatermark(baseAddr, 1); /* Enable and flush the FIFO prior to enabling the TX/RX */ UART_HAL_SetTxFifoCmd(baseAddr, true); UART_HAL_SetRxFifoCmd(baseAddr, true); UART_HAL_FlushTxFifo(baseAddr); UART_HAL_FlushRxFifo(baseAddr);
  7. В самом начале обработчика прерывания стоит опрос функции UART_HAL_GetRxDataRegFullIntCmd(baseAddr). Когда перестаю приниматься данные , он всегда false . Как это переполнение очистить то ?
  8. В осовном цикле UART3_C2 = 0x2C; В обработчике UART3_C2 = 0x8C;
  9. Никакого FreeRTOS'а нету... у Frescale примеры есть в KSDK_1.0.0
  10. Ну как это ничего ?? LWIP работает, таймеры все работают....UART который весит на USB работает... Не работает только прерывание UART который весит на 485-м интерфейсе....
  11. Поставил пере инициализацию уарта если UART_HAL_GetRxDataRegFullIntCmd(baseAddr) == false. Не помогло....
  12. Бряк стоит...в том то и дело...перезапуска не происходит. Крутимся в wile'.....
  13. Запись в какой регистр ???? Я сейчас пере инициализацию уарта поставил если прерывание будет запрещено...посмотрим как оно зафурычит.. Кстати, отлаживаю под eclipse (KDS_3.0.0)....там хрен что посмотришь.... ЗЫ: в NXP Community прочитал что при отладке, встроенный в плату J-Link подглючивает....память там не читает и т.д....
  14. Я тоже так думаю. т.к. иногда отладчик ругается что не может прочитать память.... Просто часть прогарммы то работает, плата по сети пингуется...обмен по lwip происходит (снифером посмотрел)...отправка данных по злосчастному уарту идет но ни чего не принимает.... Как с этим бороться ?
×
×
  • Создать...