Микроконтролерска кола
Микроконтролерска кола
Jump to TINA Main Page & General Information
ТИНА подржава много (ПИЦ, АВР, Ардуино, КСНУМКС, ХЦС, СТМ, АРМ, ТИ-Тива, ТИ-Ситара, Инфинеон-КСМЦ) микроконтролери; стално се додају нови МЦУ. Можете да видите, измените и отклоните грешке у програму који се изводи у процесору и, наравно, можете да креирате свој код.
Постоје два начина обезбеђивања програма за микроконтролере у ТИНА-и. Можете користити бинарни код и дебуг датотеку направљену од стандардног компајлера (нпр. МПЛАБ за ПИЦ-ове) или можете једноставно учитати ваш код за монтажу да се покрене и исправи у ТИНА-и користећи свој уграђени асемблер-дебуггер.
У ТИНА микроконтролерима се могу симулирати не само сами, већ и заједно са аналогним, дигиталним, ХДЛ или другим моделима.
Покретање и уређивање МЦУ кода
Напуните ПИЦ Фласхер.ТСЦ круг из фолдера ЕкамплесМицроцонтроллерсПиц.
Следећи шематски приказ КСНУМКСФКСНУМКС ПИЦ микроконтролера ће се појавити са КСНУМКСФКСНУМКС ПИЦ микроконтролером:
Овај склоп једноставно броји напред један по један. притисните
Дисплеј треба да напредује један по један.
Двапут кликните на МЦУ да видите АСМ код у њему. (више детаља потражите у приручнику за брзи почетак).
ТИНА има одличну могућност којом можете уређивати и мијењати изворни код директно у ТИНА-и.
Дозволите да направимо следећу промену у коду:
Промените инструкцију (изабрану изнад) у реду КСНУМКС (број ретка можете видети у доњем десном углу прозора уређивача кода):
фром аддлв КСНУМКСХ
да дода КСНУМКСХ
Снимите промењени код у ТИНА притиском на тастер
Ако притиснете
Имајте на уму да ће промењени код бити аутоматски сачуван у ТИНА .ТСЦ датотеци.
Коришћење дебагера
Погледајмо још једну апликацију са више интерактивности.
Уметните ПИЦКСНУМКСФКСНУМКСинтеррупт_рбКСНУМКС.ТСЦ пример ТИНА из фолдеру ЕкамплесМицроцонтроллерсПиц.
Притисните
Међутим, ако кликнете на СВ-ХЛКСНУМКС прекидач, екран ће се помакнути за КСНУМКС сваки пут када се преклопник промијени са Лов на Хигх.
ПИЦ-ова способност управљања прекидима ће нам омогућити да откријемо промене прекидача.
Сада да видимо операцију детаљније користећи ТИНА-ин интерактивни АСМ отклањач погрешака.
Да бисте активирали програм за отклањање грешака, у менију Анализа изаберите Опцију. Затим поставите поље за потврду „Омогући програм за отклањање погрешака МЦУ кода“, као што је приказано испод у дијалошком оквиру „Опције анализе“.
Притисните дугме ОК и појавиће се МЦУ дебуггер:
Пратимо извршавање програма корак по корак притиском на тастер
Након око КСНУМКС кликова стижемо до ознаке ПТКСНУМКС: гдје се чини да је програм у бесконачној петљи.
ПТКСНУМКС: ИНЦФ ТЕМП, Ф ГОТО ПТКСНУМКС
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
увећајте ЦОУНТЕР и копирајте у ПОРТ А, а излаз ће бити КСНУМКС. Након тога програм ће се вратити на "бесконачну петљу" на ПТКСНУМКС-у.
Уређивање кода у дебагеру
Сада направимо малу промену у програму да бисмо демонстрирали коришћење дебагера. Удвостручите наредбу ИНЦФ ЦОУНТЕР, Ф користећи Цопи и Пасте овако:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Сада када притиснете
Притисните Да и притисните
Такође можете проверити коло у континуираном моду рада дебагера притиском на тастер
Иако ће се програм за отклањање грешака брзо покренути, још увек можете да видите „бесконачни циклус“, а затим да пређете на серверски део Интеррупт (ИНТ_СЕРВ:) када промените прекидач.
Прављење тачке прекида
Користећи степ-би-степ мод, често је немогуће доћи до одређене тачке у програму. Чак и ако сте довољно стрпљиви да направите корак од хиљаду корака, проток програма вам можда неће омогућити да кренете тамо где желите.
Да бисте се зауставили на одређеној линији, можете означити одредницу циља постављањем “тачке прекида”.
Покрените програм у непрекидном моду дебагера користећи
Да бисте то демонстрирали, кликните на изјаву инкремента на нашем серверу прекида након ознаке ИНТ_СЕРВ: и притисните тастер
Сада притисните
Иако сте поставили тачку прекида, извршење кода се неће зауставити јер никада не дође до тачке прекида. Међутим, када промените прекидач из Лов у Хигх, програм ће се зауставити на означеној изјави:
INT_SERV: INCF COUNTER, F
Сада можете наставити било корак по корак