| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| PIC24F UART http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11803 |
Страница 1 от 1 |
| Автор: | stewie [ Пет Окт 11, 2013 1:16 am ] | ||||||||||||||||||
| Заглавие: | PIC24F UART | ||||||||||||||||||
Здравейте, Трябва да се понауча да програмирам PIC24F със XC16. Досега съм ползвал само CCS и малко Асемблер. Първите ми впечатления бяха, че работата с този компилатор ще е приятна - особено с всички регистри в хедърите, което е голямо улеснение. Успях да подкарам таймер 1 на PIC24F04KA200, и се опитах да направя няколко функции за UART, за да ми е по-лесно за дебъгване. Вече две вечери подред го мъча този UART и нищо не излиза. Правя UART инициализация както е по PIC24F Reference Manual. Всичко е наред, докато не активирам UART модула - в този момент нещо става и не мога да разбера какво, тъй като не мога да дебъгвам с Pickit3. Излиза ми следното съобщение: Programming/Verify complete The target device is not ready for debugging. Please check your configuration bit settings and program the device before proceeding. Хубаво де, проверявам ги тези неща - всичко си е наред, според мен. Използвам вътрешния осцилатор, но това би трябвало да не е проблем. И дотук - чипът забива и аз не знам къде точно, още-по малко защо. Ще сложа кода тук, но накратко това се слува - имам си timer 1 interrupt, което си работи и за индикация мига един светодиод. Пробвах го със MPLAB X Simulator - дава точно време, като брой цикли. Нямам осцилоскоп тук, но колкото-толкова, нали е за учебна цел. Дотук добре. В момента, в който извикам функцията за инициализиране на UART, всичко свършва - никакво прекъсване, никакви признаци на живот. Опитах да компилирам целия файл, като въпросната фунцкия я пиша линия по линия, и така установих къде забиват нешата - точно когато активирам UART модула. Тази функция е писана точно по предписанията на Микрочип. Ето кода:
Ето и конфигурационните битове:
Малко дълго се получи. Ако някой се е срещал с това, да казва И последен въпрос - къде мога да намеря имената на прекъсванията? Имам предвид _T1Interrupt и така нататък - не можах да ги намеря в хедъра на чипа, а доколкото разбрах са дефинирани и не мога аз да си слагам измислени имена. Благодаря |
|||||||||||||||||||
| Автор: | Gogo [ Пет Окт 11, 2013 8:08 am ] |
| Заглавие: | Re: PIC24F UART |
........................................................................................................................................ Рек, сложи един бутон "Изтрий" някъде, за да няма такива мнения |
|
| Автор: | dan [ Пет Окт 11, 2013 8:31 am ] |
| Заглавие: | Re: PIC24F UART |
Някъде в MPlab-a имаш падащо меню, където си дал да ти компилира кода за "дебъгване". Промени го |
|
| Автор: | Ники [ Пет Окт 11, 2013 8:57 am ] |
| Заглавие: | Re: PIC24F UART |
Пиша по спомен. Подробност при 24, конфигурацията на някои регистри става при изключен модул, иначе не се получва. Пример при уарта, ако не е станала конфигурацията, при опит да предаваш нещо, контролера забива в брезкраен цикъл да полира флаг за свободен трансмит буфер. В този случай работят само прекъсвания, |
|
| Автор: | sparkybg [ Пет Окт 11, 2013 1:38 pm ] |
| Заглавие: | Re: PIC24F UART |
Не виждам интеръпт хандлер за UART-а. Така като плякне интеръпт от UART-а, отива в хандлера по подразбиране, който или правеше екзепшън, или безкраен цикъл, или нещо от сорта. Няма нищо лошо да ползваш стандартните библиотеки за да го подкараш. Пък след като го подкараш си напиши твои ако искаш, гледайки в сорса на оригиналните или в чаршафа. |
|
| Автор: | dan [ Пет Окт 11, 2013 2:47 pm ] | |||||||||
| Заглавие: | Re: PIC24F UART | |||||||||
|
||||||||||
| Автор: | stoyanoff [ Пет Окт 11, 2013 7:38 pm ] |
| Заглавие: | Re: PIC24F UART |
Това при мен излиза, когато чипът не е програмиран. То си пише - устройството не е готово за дебъг! Когато заредиш програмата, трябва да се оправи! |
|
| Автор: | stewie [ Вто Окт 15, 2013 7:11 pm ] |
| Заглавие: | Re: PIC24F UART |
Проработи UART-а. Проблемът беше в прекъсванията и в четенето на микрочипските фермани. Документацията им не е от най-добрите. Ако някой иска кода, да каже, че е дълъг. |
|
| Автор: | sparkybg [ Вто Окт 15, 2013 8:16 pm ] | |||||||||
| Заглавие: | Re: PIC24F UART | |||||||||
Не знам с какво я сравняваш, но далеч не е и от най-лошите, еле пък като и свикнеш. |
||||||||||
| Автор: | Cekins [ Вто Окт 15, 2013 8:30 pm ] |
| Заглавие: | Re: PIC24F UART |
+1 Даже документацията им е цвете в сравнение с някой други. Е за 24-ките е малко по объркваща от тая за 18-ки и то най-вече заради 16 битовите регистри - трябва по-голиемичък екран за да се чете удобно. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|