ХОЛТЕК ХТ32 МЦУ УАРТ Упутство за употребу
Увод
Универзални асинхрони пријемник/предајник – УАРТ је широко коришћен интерфејс за серијски пренос који обезбеђује флексибилан асинхрони фулл-дуплекс пренос података. Апликациони код „Модуле_УАРТ“ дат у овој напомени о апликацији користи ТКС/РКС прекиде са софтверским прстенастим баферима за имплементацију једноставних УАРТ функција преноса/пријема преко АПИ-ја, чије су повезане функције описане у наставку. Ово ће поједноставити цео процес преноса података и омогућити корисницима да брзо разумеју и имплементирају УАРТ комуникационе апликације.
- Функције преноса/пријема: читање бајтова, писање бајтова, читање бафера, писање бафера итд.
- Статусне функције: добијање дужине бафера, ТКС статус, итд.
Овај документ ће прво представити УАРТ комуникациони протокол, који ће помоћи корисницима да боље разумеју УАРТ комуникацију од принципа до примене. Након тога следи преузимање и припрема ресурса потребних за код апликације, укључујући библиотеку фирмвера, преузимање кода апликације, file и конфигурацију директоријума, као и увод у софтверски алат терминала који се користи у напомени о апликацији. У поглављу Функционални опис биће представљена структура директоријума кода апликације, подешавања параметара и опис АПИ-ја. Употреба АПИ-ја ће бити описана коришћењем кода апликације „Модуле_УАРТ“, а такође ће бити наведена и потрошња Фласх/РАМ ресурса потребна за АПИ-је. Поглавље Упутства за употребу ће водити корисника кроз кораке припреме животне средине, компилације и тестирања како би се потврдило да ће код апликације исправно функционисати. Затим ће обезбедити упутства која објашњавају како да интегришу АПИ-је у корисничке пројекте и на крају пружиће референцу за модификације и уобичајене проблеме на које се може наићи.
Коришћене скраћенице:
- УАРТ: Универзални асинхрони пријемник/предајник
- АПИ: Програмски интерфејс апликације
- ЛСБ: Најмање значајан бит
- МСБ: Најзначајнији бит
- ПЦ: Персонал Цомпутер
- СК: Почетни комплет, развојна плоча ХТ32
- ИДЕ: Интегрисано развојно окружење
УАРТ комуникациони протокол
УАРТ је серијски комуникациони тип интерфејса који имплементира паралелну у серијску конверзију података на свом предајнику, а затим серијски комуницира са сличним пријемником. Пријемник затим врши серијско-паралелну конверзију података након пријема података. На слици 1 приказан је шематски дијаграм серијске комуникације који показује како се подаци преносе по битовима. Због тога су за двосмерну комуникацију између предајника и пријемника потребне само две жице, ТКС и РКС, за серијски пренос података између себе. ТКС је пин на који УАРТ преноси серијске податке и повезан је на РКС пин пријемника. Због тога уређаји предајника и пријемника морају унакрсно да повежу своје ТКС и РКС пинове да би извршили УАРТ двосмерну комуникацију, као што је приказано на Слика 2.
Слика 1. Дијаграм серијске комуникације
Слика 2. УАРТ дијаграм кола
Током УАРТ серијске комуникације, пренос података је асинхрони. То значи да не постоји сат или други сигнал синхронизације између предајника и пријемника. Овде се користи брзина преноса података, која представља брзину преноса/пријема серијских података и коју постављају обе стране пре преноса података. Поред тога, специјални битови као што су стартни и стоп битови се додају на почетак и крај пакета података да би се формирао комплетан УАРТ пакет података. Слика 3 приказује структуру УАРТ пакета података док слика 4 приказује УАРТ 8-битни пакет података без бита парности.
Слика 3. Структура УАРТ пакета података
Слика 4. УАРТ 8-битни формат пакета података
Сваки део УАРТ пакета података је представљен редоследом у наставку.
- Почетни бит: Ово означава почетак пакета података. УАРТ ТКС пин обично остаје на високом логичком нивоу пре почетка преноса. Ако пренос података почне, УАРТ предајник ће повући ТКС пин са високог на нижи, тј. од 1 до 0, а затим га задржати тамо један циклус такта. УАРТ пријемник ће почети да чита податке када се на РКС пину открије прелаз са високог на ниски ниво.
- Подаци: Ово су стварни пренети подаци, са дужином података од 7, 8 или 9 бита. Подаци се обично прво преносе помоћу ЛСБ-а.
- Бит парности: Број логичке „1” у подацима се користи да би се утврдило да ли су се неки подаци променили током преноса. За паран паритет, укупан број логичке „1” у подацима треба да буде паран број, и обрнуто, укупан број логичке „1” у подацима треба да буде непаран број за непарни паритет.
- Стоп бит: Ово указује на крај пакета података, где ће УАРТ предајник повући ТКС пин са ниске на високу вредност, тј. од 0 до 1, а затим га задржати тамо током 1 или 2-битног временског периода.
Као што је раније поменуто, пошто у УАРТ колу нема тактног сигнала, иста брзина преноса/пријема серијских података, која је позната као брзина преноса, мора бити дефинисана између предајника и пријемника да би се имплементирао пренос без грешака. Брзина преноса података је дефинисана бројем битова пренетих у секунди, у бпс (бит у секунди). Неке стандардне и најчешће коришћене брзине преноса су 4800бпс, 9600бпс, 19200бпс, 115200бпс, итд. Одговарајуће време потребно за пренос једног бита података је приказано испод.
Табела 1. Брзина преноса у односу на 1-битно време преноса
Бауд Рате | 1-битни пренос Време |
4800бпс | 208.33µс |
9600бпс | 104.16µс |
19200бпс | 52.08µс |
115200бпс | 8.68µс |
Преузимање и припрема ресурса
Ово поглавље ће представити код апликације и софтверски алат који се користи, као и како да конфигуришете директоријум и file пут.
Библиотека фирмвера
Прво, уверите се да је библиотека фирмвера Холтек ХТ32 преузета пре употребе кода апликације. Линк за преузимање је приказан испод. Овде постоје две опције, ХТ32_М0п_Вииииммдд.зип за серију ХТ32Ф5кккк и ХТ32_М3_Вииииммдд.зип за серију ХТ32Ф1кккк. Преузмите и распакујте жељено file.
Зип file садржи неколико фасцикли које се могу класификовати као Документ, Библиотека фирмвера, Алати и друге ставке, чија је путања постављања приказана на слици 5. Зип библиотека фирмвера ХТ32 file са а file назив ХТ32_СТД_ккккк_ФВЛиб_Вм.н.р_с.зип се налази у фасцикли Фирмваре_Либрари.
Слика 5. Садржај ХТ32_М0п_Вииииммдд.зип
Код апликације
Преузмите код апликације са следећег линка. Код апликације је упакован у зип file са а file назив ХТ32_АППФВ_ккккк_АППЦОДЕНАМЕ_Вм.н.р_с.зип. Видите Слика 6 за file конвенције имена.
Слика 6. Код апликације File Име Увод
Линк за преузимање: https://mcu.holtek.com.tw/ht32/app.fw/Module_UART/
File и Конфигурација директоријума
Пошто код апликације не садржи библиотеку фирмвера ХТ32 fileс, шифра апликације и библиотека фирмвера су распаковани fileс треба поставити на исправну путању пре почетка компилације. Поштански код апликације file обично садржи једну или више фасцикли, као што су апликација и библиотека, као што је приказано на слици 7. Поставите фасциклу апликације испод коренског директоријума библиотеке фирмвера ХТ32 да бисте довршили file конфигурацију путање, као што је приказано на слици 8. Алтернативно, распакујте код апликације и библиотеку фирмвера ХТ32 истовремено на исту путању да бисте постигли исте резултате конфигурације.
Слика 7. ХТ32_АППФВ_ккккк_АППЦОДЕНАМЕ_Вм.н.р_с.зип Садржај
Слика 8. Путања декомпресије
Терминал Софтваре
Код апликације може преносити поруке преко ЦОМ порта за имплементацију избора функције или приказа статуса. Ово захтева од стране домаћина да унапред инсталира софтвер терминала. Корисници могу изабрати одговарајући софтвер за повезивање или користити бесплатни лиценцирани софтвер као што је Тера Терм. У коду апликације, УАРТ канал је конфигурисан са дужином речи од 8 бита, без парности, 1 стоп бит и брзином преноса од 115200бпс.
Функционални опис
Ово поглавље ће пружити функционални опис кода апликације, укључујући информације о структури директоријума, АПИ архитектури, опису подешавања итд.
Структура именика
Код апликације file садржи фасциклу са апликацијама. Следећи слој је фасцикла „Модуле_УАРТ“ која садржи два апликативна програма, „УАРТ_Модуле_Екampле” и „УАРТ_Бридге”. Релевантни fileс су наведени и описани у наставку.
Табела 2. Структура именика кода апликације
Фолдер / File Име | Опис |
\\апплицатион\Модуле_УАРТ\УАРТ_Модуле_Екample*1 | |
_ЦреатеПројецт.бат | Батцх скрипте за креирање пројекта files |
_ПројецтСоурце.ини | Иницијализација file за додавање изворног кода пројектима |
хт32_боард_цонфиг.х | Сетуп file везано за додељивање ИЦ периферних И/О |
хт32фккккк_01_ит.ц | Прекините сервисни програм file |
главни.ц | Главни изворни код програма |
\\апплицатион\Модуле_УАРТ\УАРТ_Бридге*2 | |
_ЦреатеПројецт.бат | Батцх скрипте за креирање пројекта files |
_ПројецтСоурце.ини | Иницијализација file за додавање изворног кода пројектима |
хт32_боард_цонфиг.х | Сетуп file везано за додељивање ИЦ периферних И/О |
хт32фккккк_01_ит.ц | Прекините сервисни програм file |
главни.ц | Изворни код главног програма |
уарт_бридге.х уарт_бридге.ц | УАРТ заглавље моста file и изворни код file |
\\утилитиес\миддлеваре | |
уарт_модуле.х*3 уарт_модуле.ц*3 | АПИ заглавље file и изворни код file |
\\утилитиес\цоммон | |
рингбуффер.х ринг_буффер.ц | Заглавље софтверског прстена бафера file и изворни код file |
Напомена:
- У „УАРТ_Модуле_Екampле” код апликације, операције читања и писања АПИ-ја се изводе на начин повратне петље, погледајте „АПИ Усаге Екampлес” одељак за више детаља.
- У коду апликације „УАРТ_Бридге“, два УАРТ канала, УАРТ ЦХ0 и УАРТ ЦХ1, су активирана, а прилагођени комуникациони протокол кроз ЦОММАНД структуре је имплементиран између два УАРТ уређаја. За више информација погледајте „Употреба АПИ-ја прampлес” одељак.
- Код апликације треба да користи уарт_модуле.ц/х fileс који имају захтев за верзију библиотеке фирмвера. Захтев се може променити с времена на време у складу са ажурирањем. Да бисте потврдили тренутни захтев за верзију библиотеке фирмвера, погледајте садржај провере зависности тако што ћете потражити кључну реч „Провера зависности“ у главној.ц file. Ако верзија библиотеке фирмвера не испуњава услове, преузмите најновију верзију са везе у одељку „Библиотека фирмвера“.
АПИ архитектура
Сваки АПИ има важан параметар ЦХ, а то је УАРТ канал. Ово одређује који УАРТ канал треба контролисати. Тренутно су подржана до четири УАРТ канала и стога су четири константна симбола дефинисана на следећи начин. Они се користе као параметар ЦХ пружајући АПИ-јима основу за контролу.
- УАРТМ_ЦХ0: улазни параметар – контролише или конфигурише УАРТ ЦХ0
- УАРТМ_ЦХ1: улазни параметар – контролише или конфигурише УАРТ ЦХ1
- УАРТМ_ЦХ2: улазни параметар – контролише или конфигурише УАРТ ЦХ2
- УАРТМ_ЦХ3: улазни параметар – контролише или конфигурише УАРТ ЦХ3
Меморијски простор се неће губити ако се користи само један УАРТ канал. То је зато што се број подржаних УАРТ канала може подесити и неискоришћени код УАРТ канала ће бити уклоњен од стране препроцесора да би се повећао расположиви меморијски простор. АПИ архитектура је приказана у Слика 9.
Слика 9. Блок дијаграм АПИ архитектуре
Сваки АПИ се састоји од четири групе подешавања или контрола везаних за УАРТ канал, тако да корисници треба само да унесу жељени ЦХ параметар. Да бисте конфигурисали релевантни АПИ, потребно је само да имате додатну табелу основних конфигурационих параметара УАРТ-а са формом структуре, УСАРТ_ИнитТипеДеф. АПИ ће имплементирати основну конфигурацију УАРТ-а у складу са садржајем параметара у табели. Погледајте одељак „Опис АПИ-ја“ за табелу структуре основне конфигурације УАРТ-а.
Тхе уарт_модуле.ц/.х fileс садрже само прекид (ЦХк_ИРК) и табелу статуса (ЦХк Статус) сваког УАРТ канала док су сва подешавања потребна за УАРТ комуникацију обезбеђена од стране хт32_боард_цонфиг.х. Хардверски релевантни параметри у хт32_боард_цонфиг.х file приказани су у табели испод. Више детаља је дато у одељку „Опис подешавања“.
Параметри релевантни за хардвер у хт32_боард_цонфиг.х укључују И/О поставке и поставке физичког УАРТ порта, као што следи.
Табела 3. Симболи дефиниције у хт32_боард_цонфиг.х
Симбол | Опис |
ХТЦФГ_УАРТМ_ЦХ0 | Име физичког УАРТ порта; Прampле: УАРТ0, УАРТ1… |
ХТЦФГ_УАРТМ0_ТКС_ГПИО_ПОРТ | Дефинише име порта ТКС за ЦХ0; Прampле: А, Б, Ц… |
ХТЦФГ_УАРТМ0_ТКС_ГПИО_ПИН | Дефинише пин број ТКС за ЦХ0; Прampле: 0~15 |
ХТЦФГ_УАРТМ0_РКС_ГПИО_ПОРТ | Дефинише име порта за РКС за ЦХ0; Прampле: А, Б, Ц… |
ХТЦФГ_УАРТМ0_РКС_ГПИО_ПИН | Дефинише пин број ТКС за ЦХ0; Прampле: 0~15 |
ХТЦФГ_УАРТМ0_ТКС_БУФФЕР_СИЗЕ | Дефинише величину ТКС бафера за ЦХ0; Прampле: 128 |
ХТЦФГ_УАРТМ0_РКС_БУФФЕР_СИЗЕ | Дефинише величину РКС бафера за ЦХ0; Прampле: 128 |
Да бисте изменили АФИО конфигурацију УАРТ канала, погледајте одговарајућу листу података уређаја. Тренутно само И/О дефиниције за УАРТ ЦХ0 ступају на снагу пошто је само УАРТ ЦХ0 конфигурисан у хт32_боард_цонфиг.х. Да бисте додали УАРТ ЦХ1~3, њихове И/О дефиниције треба да буду довршене позивањем на УАРТ ЦХ0 дефиницију или позивањем на одељак „Измена подешавања и најчешћа питања“.
Постоје три главне карактеристике АПИ архитектуре:
- Подржана су до четири УАРТ канала. Њихови улазни параметри су УАРТМ_ЦХ0, УАРТМ_ЦХ1, УАРТМ_ЦХ2 и УАРТМ_ЦХ3.
- Број УАРТ канала се може подесити и неискоришћени канали неће смањити расположиви меморијски простор.
- Све УАРТ поставке и И/О дефиниције су потпуно одвојене од АПИ-ја. Ово повећава погодност управљања подешавањем вредности и смањује могућност нетачних или недостајућих подешавања.
Опис подешавања
Овај одељак ће представити подешавања параметара у хт32_боард_цонфиг.х и уарт_модуле.х files.
- хт32_боард_цонфиг.х: Ово file се користи за дефиниције пинова и релевантна подешавања развојне плоче, која укључују УАРТ ИП канал (УАРТ0, УАРТ1, УСАРТ0...) који користи Стартер Кит (СК), одговарајуће локације ТКС/РКС пинова и величину ТКС/РКС бафера. Слика 10 приказује садржај подешавања ХТ32Ф52352 Стартер Кит. У зависности од функционалне интеграције развоја, корисници могу да се обрате одељку „Пин Ассигнмент“ у техничком листу коришћеног уређаја да би имплементирали дефиниције пинова. Више детаља о измени подешавања биће описано у одељку „Измена подешавања и најчешћа питања“.
Слика 10. Подешавања хт32_боард_цонфиг.х (ХТ32Ф52352)
- уарт_модуле.х: Ово је заглавље АПИ-ја file користи код апликације, који укључује релевантна подразумевана подешавања, дефиниције функција, итд. Као што је приказано на слици 11, садржај подразумеваних поставки може бити замењен екстерним конфигурацијама, као што су подешавања у хт32_боард_цонфиг.х file.
Слика 11. Подразумеване поставке у уарт_модуле.х
АПИ опис
- Опис типа података кода апликације.
- УСАРТ_ИнитТипеДеф
Ово је основна конфигурациона структура УАРТ-а која се састоји од конфигурација БаудРате, ВордЛенгтх, СтопБитс, Парити и Моде, као што је приказано у наставку.Променљива Име Тип Опис УСАРТ_БаудРате у32 Брзина преноса УАРТ комуникације УСАРТ_ВордЛенгтх у16 Дужина УАРТ комуникационе речи: 7, 8 или 9 бита УСАРТ_СтопБитс у16 Дужина зауставног бита УАРТ комуникације: 1 или 2 бита УСАРТ_Парити у16 УАРТ комуникациони паритет: паран, непаран, ознака, размак или без паритета УСАРТ_Моде у16 УАРТ режим комуникације; АПИ-ји подржавају само нормалан режим
- УСАРТ_ИнитТипеДеф
- Пре употребе АПИ функција, довршите основну конфигурацију УАРТ-а у главном програму. Основна конфигурација УАРТ-а за овај апликациони код је приказана на слици 12. Овде је брзина преноса 115200бпс, дужина речи је 8-битна, дужина стоп бита је 1-бит, и нема парности.
Слика 12. Основна конфигурација УАРТ-а
- Слика 13 приказује АПИ функције декларисане у уарт_модуле.х file. Следеће табеле објашњавају функцију, улазне параметре и употребу АПИ функција.
Слика 13. Декларације АПИ функције у уарт_модуле.х
Име | воид УАРТМ_Инит(у32 ЦХ, УСАРТ_ИнитТипеДеф *пУАРТ_Инит, у32 уРкТимеОутВалуе) | |
Функција | Иницијализација УАРТ модула | |
Инпут | CH | УАРТ канал |
пУАРТ_Инит | Показивач структуре основне конфигурације УАРТ-а | |
уРкТимеОутВалуе | УАРТ РКС ФИФО вредност временског ограничења. Када РКС ФИФО прими нове податке, бројач ће се ресетовати и поново покренути. Једном када бројач достигне унапред подешену вредност временског ограничења и омогућиће одговарајући прекид временског ограничења, биће генерисан прекид за време истека. | |
Употреба | УАРТМ_Инит(УАРТМ_ЦХ0, &УСАРТ_ИнитСтруцтуре, 40);//Изврши основну конфигурацију УАРТ-а//Погледајте слику 12 за конфигурацију УСАРТ_ИнитСтруцтуре |
Име | у32 УАРТМ_ВритеБите(у32 ЦХ, у8 уДата) | |
Функција | УАРТ модул за писање бајтова (ТКС) | |
Инпут | CH | УАРТ канал |
уДата | Подаци које треба написати | |
Излаз | УСПЕХА | Успешно |
ГРЕШКА | Није успело | |
Употреба | УАРТМ_ВритеБите(УАРТМ_ЦХ0, 'А'); //УАРТ уписује 1 бајт – 'А' |
Име | у32 УАРТМ_Врите(у32 ЦХ, у8 *пБуффер, у32 уЛенгтх) | |
Функција | Операција писања УАРТ модула (ТКС) | |
Инпут | CH | УАРТ канал |
пБуффер | Показивач бафера | |
уЛенгтх | Дужина података које треба написати | |
Излаз | УСПЕХА | Успешно |
ГРЕШКА | Није успело | |
Употреба | у8 Тест[] = “Ово је тест!\р\н”; УАРТМ_Врите(УАРТМ_ЦХ0, Тест, сизеоф(Тест) -1); //УАРТ уписује пБуффер податке |
Име | у32 УАРТМ_РеадБите(у32 ЦХ, у8 *пДата) | |
Функција | Операција читања бајтова УАРТ модула (РКС) | |
Инпут | CH | УАРТ канал |
пДата | Адреса за постављање прочитаних података | |
Излаз | УСПЕХА | Успешно |
ГРЕШКА | Није успело (нема података) | |
Употреба | у8 ТемпДата; ако (УАРТМ_РеадБите(УАРТМ_ЦХ0, &ТемпДата) == УСПЕХ){УАРТМ_ВритеБите(УАРТМ_ЦХ0, ТемпДата);}//Ако УАРТМ_РеадБите() враћа УСПЕХ, онда УАРТ уписује овај бајт података |
Име | у32 УАРТМ_Реад(у32 ЦХ, у8 *пБуффер, у32 уЛенгтх) | |
Функција | Операција читања УАРТ модула (РКС) | |
Инпут | CH | УАРТ канал |
пБуффер | Показивач бафера | |
уЛенгтх | Дужина података за читање | |
Излаз | Број читања | Дужина података је прочитана |
Употреба | у8 Тест2[10]; у32 Лен; Лен = УАРТМ_Реад(УАРТМ_ЦХ0, Тест2, 5);иф (Лен > 0){УАРТМ_Врите(УАРТМ_ЦХ0, Тест2, Лен);}//УАРТМ_Реад() чита 5 бајтова података и складишти податке у Тест2 и додељује број прочитаних бајтова до Лен//Напишите податке добијене из Тест2 |
Име | у32 УАРТМ_ГетРеадБуфферЛенгтх(у32 ЦХ) | |
Функција | Добијте дужину бафера за читање (РКС) | |
Инпут | CH | УАРТ канал |
Излаз | уЛенгтх | Читање дужине бафера |
Употреба | УАРТМ_Инит(УАРТМ_ЦХ0, &УСАРТ_ИнитСтруцтуре, 40); //Иницијализација УАРТ модула док (УАРТМ_ГетРеадБуфферЛенгтх(УАРТМ_ЦХ0) < 5);//Сачекајте док УАРТМ_РеадБуффер не прими 5 бајтова података |
Име | у32 УАРТМ_ГетВритеБуфферЛенгтх(у32 ЦХ) | |
Функција | Добијте дужину бафера за писање (ТКС) | |
Инпут | CH | УАРТ канал |
Излаз | уЛенгтх | Упишите дужину бафера |
Име | u8 УАРТМ_ИсТкФинисхед(у32 ЦХ) | |
Функција | Добијте ТКС статус | |
Инпут | CH | УАРТ канал |
Излаз | ТРУЕ | ТКС статус: завршено |
ФАЛСЕ | ТКС статус: није завршен | |
Употреба | УАРТМ_ВритеБите(УАРТМ_ЦХ0, 'О'); #иф 1 // “уарт_модуле.ц” СВН >= 525 потребновхиле (УАРТМ_ИсТкФинисхед(УАРТМ_ЦХ0) == ФАЛСЕ) #елсевхиле (1) #ендиф //Овај АПИ се може користити за проверу ТКС статуса, као што је приказано изнад; сачекајте док се АПИ УАРТМ_ВритеБите() не заврши, тј. ТКС статус је ТРУЕ, а затим наставите са наредним радњама.//Додато је ограничење јер ова функција није додата све док број верзије СВН у уарт_модуле.ц није 525. |
Име | воид УАРТМ_ДисцардРеадБуффер(у32 ЦХ) | |
Функција | Одбаците податке у баферу за читање | |
Инпут | CH | УАРТ канал |
Употреба АПИ-ја нпрampлес
Овај одељак ће показати АПИ писање и читање нпрampдатотеке кода апликације „Модуле_УАРТ“ користећи процес иницијализације и „УАРТ_Модуле_Екampле” процес кода апликације. Пре употребе АПИ-ја, корисници морају да укључе АПИ заглавље file у главни изворни код програма file (#инцлуде „миддлеваре/уарт_модуле.х“).
Као што је приказано на слици 14, када улазите у процес иницијализације, прво дефинишите основну структуру конфигурације УАРТ-а. Затим конфигуришите чланове основне конфигурационе структуре УАРТ-а укључујући брзину преноса, дужину речи, стоп-битове, паритет и режим. Коначно, позовите функцију иницијализације АПИ-ја, чији завршетак означава крај процеса иницијализације. Након овога корисници могу да наставе са операцијама писања и читања на основу унапред постављене основне конфигурације УАРТ-а.
Слика 14. Дијаграм тока иницијализације
„УАРТ_Модуле_Екampле” код апликације демонстрира АПИ операције читања и писања на начин повратне петље. Дијаграм тока за ово је приказан на слици 15. АПИ функције које се користе укључују УАРТМ_ВритеБите(), УАРТМ_Врите(), УАРТМ_РеадБите(), УАРТМ_Реад() и УАРТМ_ГетРеадБуфферЛенгтх(). Њихов опис је дат у одељку „Опис АПИ-ја“.
Слика 15. Дијаграм тока за писање и читање прampлес
Постоји још један код апликације „УАРТ_Бридге“ у фасцикли „Модуле_УАРТ“ чији је повезан file опис је уведен у одељку „Структура именика“. Апликациони код „УАРТ_Бридге“ активира два УАРТ канала, УАРТ ЦХ0 и УАРТ ЦХ1, а затим прилагођава комуникациони протокол између два УАРТ уређаја преко ЦОММАНД структура, гЦМД1 и гЦМД2. Они су дефинисани у уарт_бридге.ц, као што је приказано испод. УАРТБридге_ЦМД1ТипеДеф гЦМД1:
Променљива Име | Тип | Опис |
уХеадер | u8 | Хеадер |
уЦмд | u8 | Цомманд |
уДата[3] | u8 | Подаци |
УАРТБридге_ЦМД2ТипеДеф гЦМД2:
Променљива Име | Тип | Опис |
уХеадер | u8 | Хеадер |
уЦмдА | u8 | Команда А |
уЦмдБ | u8 | Команда Б |
уДата[3] | u8 | Подаци |
У коду апликације „УАРТ_Бридге“, користите гЦМД1 да бисте примили податке као командни пакет, а затим их анализирајте. Затим у складу са прилагођеним комуникационим протоколом, поставите гЦМД2 као пакет одговора и пренесите га. Следи бившиampкомандног пакета гЦМД1) и пакета одговора (гЦМД2). Командни пакет (УАРТБридге_ЦМД1ТипеДеф гЦМД1):
Бајт 0 | Бајт 1 | Бајт 2 ~ Бајт 4 |
уХеадер | уЦмд | уДата [3] |
"А" | “1” | „к, и, з” |
Пакет одговора (УАРТБридге_ЦМД2ТипеДеф гЦМД2):
Бајт 0 | Бајт 1 | Бајт 2 | Бајт 3 ~ Бајт 5 |
уХеадер | уЦмдА | уЦмдБ | уДата [3] |
"Б" | "а" | “1” | „к, и, з” |
Ресоурце Оццупатион
Узимајући ХТ32Ф52352 као прampРесурси које заузима УАРТ модул су приказани испод.
ХТ32Ф52352 | |
Величина РОМ-а | 946 бајтова |
Величина РАМ-а | 40*1 + 256*2 Битес |
Напомена:
- Глобалне варијабле укључујући ознаке и статус за један канал заузимају 40 бајтова РАМ-а.
- Ово је за услове у којима се користи један канал и величина ТКС/РКС бафера је 128/128 бајтова. Величина бафера се може подесити у складу са захтевима апликације.
Табела 4. Занимање ресурса кода апликације
- Окружење за компилацију: МДК-Арм В5.36, АРМЦЦ В5.06 ажурирање 7 (буилд 960)
- Опција оптимизације: Ниво 2 (-О2)
Упутство за употребу
Ово поглавље ће увести припрему околине за код апликације „Модуле_УАРТ“, као и кораке компилације и тестирања.
Припрема животне средине
Хардвер и софтвер потребан за код апликације „Модуле_УАРТ“ су наведени у наставку.
Табела 5. Припрема околине хардвера/софтвера
Хардвер/Софтвер | Цоунт | Напомена |
Стартер Кит | 1 | Ова напомена о примени користи почетни комплет ХТ32Ф52352 као прample |
УСБ кабл | 1 | Мицро УСБ, повезан са рачунаром |
Код апликације | — | Путања за преузимање, file и конфигурација директоријума су представљени у одељку „Преузимање и припрема ресурса“. Путања: „\\апплицатион\Модуле_УАРТ\УАРТ_Модуле_Екampле” |
Тера Терм | — | Погледајте одељак „Терминални софтвер“. |
Кеил ИДЕ | — | Кеил уВисион В5.кк |
Прво, користите почетни комплет ХТ32Ф52352 у комбинацији са функцијом виртуелног ЦОМ порта (ВЦП) е-Линк32 Лите за увод у УАРТ апликацију. Ово захтева спровођење следеће припреме за животну средину:
- На плочи су два УСБ интерфејса. Користите УСБ кабл за повезивање рачунара и еЛинк32 Лите интерфејса на плочи као што је приказано на слици 16-(а).
- Пошто код апликације треба да користи функцију виртуелног ЦОМ порта (ВЦП) е-Линк32 Лите, уверите се да су ПАк*2 и ДАП_Тк УАРТ Јумпер-Ј2*1 кратко спојени помоћу краткоспојника. Локација Ј2 је приказана на слици 16-(б).
Напомена
- Ј2 на почетном комплету има две опције, ПАк и ДАП_Тк кратко или ПАк и РС232_Тк кратко. Погледајте упутство за употребу Стартер Кит за детаљне функције подешавања.
- Локација пинова МЦУ УАРТ РКС на различитим почетним комплетима је различита. Овај бившиampле користи ПАк да означи РКС пин.
Слика 16. Блок дијаграм стартног комплета ХТ32
Сада користите циљну плочу корисника у комбинацији са функцијом виртуелног ЦОМ порта (ВЦП) е-Линк32 Про за увод у УАРТ апликацију. Ово захтева спровођење следеће припреме за животну средину:
- Једна страна е-Линк32 Про је повезана са рачунаром помоћу Мини УСБ кабла, а друга страна је повезана са циљном плочом корисника преко свог 10-битног сивог кабла. Веза између СВД интерфејса кабла и циљне плоче је реализована коришћењем Дупонт линија, као што је приказано на слици 17-(а).
- Пинови серијске комуникације е-Линк32 Про су Пин#7 ВЦОМ_РКСД и Пин#8- ВЦОМ_ТКСД. Они треба да буду повезани на ТКС и РКС пинове циљне плоче корисника, као што је приказано на слици 17-(б).
Слика 17. Блок дијаграм циљне плоче е-Линк32 Про + корисника
Компилација и тестирање
Овај одељак ће узети „апплицатион\Модуле_УАРТ\УАРТ_Модуле_Екampле” као бивampда уведемо процесе компилације и тестирања. Пре тога, уверите се да су све припреме описане у претходном одељку спроведене и да је софтвер Тера Терм терминала преузет.
Детаљни кораци рада су сажети у наставку.
Корак 1. Тест по укључењу
Подесите хардверско окружење као што је описано у претходном одељку. Након укључивања, Д9 ЛЕД лампица за напајање у доњем левом делу Стартер Кит ће бити осветљена. Д1 УСБ ЛЕД на е-Линк32 Лите у горњем десном углу ће светлети након што се УСБ набрајање заврши. Ако Д1 не светли после дужег временског периода, проверите да ли УСБ кабл може да комуницира. Ако није, уклоните га и поново га уметните.
Корак 2. Генеришите пројекат
Отворите апликацију\Модуле_УАРТ\УАРТ_Модуле_Екampу фолдеру, кликните на _ЦреатеПројецт.бат file да генеришете пројекат, као што је приказано на слици 18. Пошто ова напомена о апликацији користи почетни комплет ХТ32Ф52352, отворите Кеил ИДЕ пројекат „Пројецт_52352.увпројк“ који се налази у фасцикли МДК_АРМв5.
Слика 18. Извршите _ЦреатеПројецт.бат да бисте генерисали пројекат
Корак 3. Компајлирајте и програмирајте
Након што је пројекат отворен, прво кликните на „Буилд“ (или користите пречицу „Ф7“), а затим кликните на „Преузми“ (или користите пречицу „Ф8“). Након тога, резултати изградње и преузимања ће бити приказани у прозору Буилд Оутпут. Види слику 19.
Слика 19. Резултати изградње и преузимања
Корак 4. Отворите софтвер Тера Терм и конфигуришите серијски порт
Отворите софтвер Тера Терм и ЦОМ порт. Обратите пажњу да ли је број ЦОМ порта који генерише почетни комплет тачан или не. Затим кликните на „Подешавање >> серијски порт“ да бисте ушли у конфигурациони интерфејс. Конфигурација УАРТ интерфејса кода апликације „Модуле_УАРТ“ је описана у одељку „Терминални софтвер“. Резултат подешавања је приказан на слици 20.
Слика 20. Резултат подешавања серијског порта Тера Терм
Корак 5. Ресетујте систем и тестирајте
Притисните тастер СК ресет – Б1 Ресет. Након овога, „АБЦ Ово је тест!“ порука ће бити
се преноси кроз АПИ и биће приказан у прозору Тера Терм, као што је приказано на слици 21. Што се тиче функције пријема, приликом уноса података у прозор Тера Терм, релевантни АПИ ће се користити за одређивање дужине бафера за пријем. Када подаци примљени од стране рачунара достигну 5 бајтова, примљених 5 бајтова података ће се послати узастопно. Као што је приказано на слици 22, подаци који се секвенцијално уносе су „1, 2, 3, 4, 5“, који се примају и одређују преко АПИ-ја. Након тога, подаци „1, 2, 3, 4, 5” ће бити одштампани након пет уноса.
Слика 21. Функционални тест кода апликације “Модуле_УАРТ” – Пренос
Слика 22. Функционални тест кода апликације „Модуле_УАРТ“ – Пријем
Упутства за трансплантацију
Овај одељак ће представити како да интегришете АПИ-је у корисничке пројекте.
Корак 1. Додајте уарт_модуле.ц file у пројекат. Кликните десним тастером миша на фолдер Усер. Изаберите „Додај постојеће Fileс у групу 'Корисник'…”, а затим изаберите уарт_модуле.ц file и кликните на „Додај“, као што је приказано на слици 23. Погледајте одељак „Структура директоријума“ за file опис путање.
Слика 23. Додајте уарт_модуле.ц File пројектовати
Корак 2. Додајте ринг_буффер.ц file у пројекат. Кликните десним тастером миша на фолдер Усер. Изаберите „Додај постојеће Fileс у групу 'Корисник'…”, а затим изаберите ринг_буффер.ц file и кликните на „Додај“, као што је приказано на слици 24.\ Погледајте одељак „Структура директоријума“ за file опис путање.
Слика 24. Додајте ринг_буффер.ц File пројектовати
Корак 3. Укључите АПИ заглавље file на почетак маин.ц, као што је приказано на слици 25. (Ект: #инцлуде “миддлеваре/уарт_модуле.х”)
Слика 25. Укључи АПИ заглавље File то маин.ц
Корак 4. Имплементирајте подешавања потребна за УАРТ комуникацију користећи хт32_боард_цонфиг.х file. Ово је детаљно представљено у одељцима „Опис подешавања“ и „Измена подешавања и најчешћа питања“.
Модификација подешавања и најчешћа питања
Овај одељак ће представити начин на који се мењају УАРТ поставке и објасниће нека уобичајена питања на која се сусрећу током употребе.
Промените УАРТ Пин Ассигнмент
- Позивајући се на поглавље ХТ32Ф52352 са подацима „Додељивање пинова“, потражите табелу мапирања алтернативних функција која наводи АФИО функције типа уређаја. За УАРТ релевантне пинове, погледајте колону „АФ6 УСАРТ/УАРТ“, као што је приказано на слици 26.
Слика 26. Табела мапирања алтернативних функција ХТ32Ф52352
- Овај корак ће водити кориснике да лоцирају одговарајуће УАРТ пинове користећи горњу табелу. ХТ32Ф52352 екampле користи УСАРТ1 као подразумевани канал. Овде су пинови ТКС и РКС УСР1_ТКС и УСР1_РКС и налазе се на ПА4 и ПА5 респективно. Слика 27 приказује кореспонденцију пинова као и дефиниције пинова у „хт32_боард_цонфиг.х“. Празна поља „Пакет“ у табели доделе пинова значе да у овом пакету нема релевантних ГПИО-ова. Да бисте изменили УАРТ пинове, пронађите локације циљних пинова и поново дефинишите пинове користећи „хт32_боард_цонфиг.х“ file.
Слика 27. Кореспонденција пинова и модификација подешавања
Додајте УАРТ канал
Узимајући ХТ32Ф52352 ХТЦФГ_УАРТМ_ЦХ1 као прampле, овде је описано како додати нови УАРТ канал.
Измените хт32_боард_цонфиг.х file
Позивајући се на поглавље ХТ32Ф52352 са подацима „Додељивање пинова“, потражите табелу мапирања алтернативних функција која наводи АФИО функције типа уређаја. Пошто је УСАРТ1 коришћен као ХТЦФГ_УАРТМ_ЦХ0, новододати ХТЦФГ_УАРТМ_ЦХ1 може изабрати УСАРТ0. Овде се пинови ТКС и РКС налазе на ПА2 и ПА3 респективно, као што је приказано у горњој половини слике 28. Одговарајуће модификације су имплементиране коришћењем кодних линија 120~126 у хт32_боард_цонфиг.х, као што је приказано црвеним тачкастим оквиром на слици 28.
Слика 28. Додајте УАРТ канал
ФАКс
Q: У кораку 5 одељка Компилација и тестирање, функционални тест преноса је нормалан. Ево, „АБЦ Ово је тест!“ порука је успешно приказана, међутим за функцију примања, зашто пет улазних вредности није враћено и приказано?
A: Проверите да ли су пинови МЦУ УАРТ РКС и ДАП_Тк УАРТ Јумпер-Ј2 кратко спојени помоћу краткоспојника. Пошто код апликације „Модуле_УАРТ“ треба да користи виртуелни ЦОМ порт (ВЦП) е-Линк32 Лите, поставку кратког споја треба применити на два лева пина УАРТ Јумпер-Ј2, као што је приказано на слици 29.
Слика 29. Поставка УАРТ Јумпер-Ј2
П: После извршавањем „Буилд“ (или пречице „Ф7“), појављује се порука о грешци која указује да је верзија библиотеке фирмвера старија од оне која је потребна? Види слику 30.
A: Имплементација кода апликације „Модуле_УАРТ“ треба да укључи уарт_модуле.ц/х fileс који захтева одређену верзију библиотеке фирмвера. Када се појави таква порука о грешци, то значи да је библиотека фирмвера која се тренутно користи старија верзија. Због тога је неопходно да преузмете најновију верзију преко везе у одељку „Библиотека фирмвера“.
Слика 30. Порука о грешци верзије библиотеке фирмвера
Закључак
Овај документ је пружио основни увод како би помогао корисницима да боље разумеју код апликације „Модуле_УАРТ“ и УАРТ комуникациони протокол. Затим је уследило преузимање и припрема ресурса. Поглавље Функционални опис увело је file структура директоријума, АПИ архитектура, опис АПИ-ја и употреба АПИ-ја нпрampлес. Поглавље Упутства за употребу демонстрирало је припрему околине, компилацију и тестирање кода апликације „Модуле_УАРТ“. Такође је пружио упутства за трансплантацију кода и подешавање модификације, као и објашњење неких уобичајених проблема на које се може наићи. Све ово заједно ће омогућити корисницима да брзо схвате како да користе АПИ-је и да смање време за почетак.
Референтни материјал
За више информација погледајте Холтек webсајт: ввв.холтек.цом
Информације о верзијама и модификацијама
Датум | Аутор | Релеасе | Информације о изменама |
2022.04.30 | 蔡期育 (Цхи-Иу Тсаи) | В1.00 | Прва верзија |
Одрицање од одговорности
Све информације, жигови, логотипи, графике, видео снимци, аудио снимци, линкови и друге ставке које се појављују на овом webсајт („Информације“) су само за референцу и подложни су промени у било ком тренутку без претходног обавештења и по дискреционом праву Холтек Семицондуцтор Инц. и његових повезаних компанија (у даљем тексту „Холтек“, „компанија“, „нас“, „ ми“ или „наши“). Док Холтек настоји да обезбеди тачност информација о овоме webсајту, Холтек не даје изричиту или имплицирану гаранцију за тачност информација. Холтек неће сносити одговорност за било какву неисправност или цурење.
Холтек неће сносити одговорност за било какву штету (укључујући, али не ограничавајући се на рачунарске вирусе, системске проблеме или губитак података) насталу коришћењем или у вези са коришћењем овог webсајт било које стране. Можда постоје везе у овој области које вам омогућавају да посетите webсајтови других компанија.
Ове webсајтове не контролише Холтек. Холтек неће сносити никакву одговорност нити гаранцију за било коју информацију приказану на таквим сајтовима. Хипервезе ка другим webсајтови су на сопствени ризик.
Ограничење одговорности
Ни у ком случају Холтек Лимитед неће бити одговоран било којој другој страни за било какав губитак или штету на било који начин или на било који начин проузрокован директно или индиректно у вези са вашим приступом или коришћењем овог webсајт, садржај на њему или било коју робу, материјал или услугу.
Меродавно право
Одрицање од одговорности садржано у webсајт ће се управљати и тумачити у складу са законима Републике Кине. Корисници ће бити подвргнути неискључивој надлежности судова Републике Кине.
Ажурирање изјаве о одрицању одговорности
Холтек задржава право да ажурира Одрицање одговорности у било ком тренутку са или без претходног обавештења, све промене ступају на снагу одмах по објављивању на webсајту.
Документи / Ресурси
![]() |
Напомена о примени ХОЛТЕК ХТ32 МЦУ УАРТ [пдф] Упутство за употребу ХТ32 МЦУ, УАРТ Напомена о апликацији, ХТ32 МЦУ УАРТ, Напомена о апликацији, ХТ32, МЦУ УАРТ Напомена о апликацији, ХТ32 МЦУ УАРТ Напомена о апликацији |