| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Въпрос свързан с Arduino Due http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=13386 |
Страница 1 от 1 |
| Автор: | s7ama7 [ Съб Ное 29, 2014 10:47 am ] |
| Заглавие: | Въпрос свързан с Arduino Due |
Здравейте , преди няколко дни си закупих Arduino Due . Досега не съм имал допир с каквото и да е било ардуино . Писал съм някоя друга програма на С за PIC16 , PIC18 и малко PIC32 . Успешно съм подкарвал АЦП , Таймерите , хардуерния PWM , входно/изходните портове , прекъсвания .. Но това ардуино ме заби . От няколко часа се опитвам да подкарам PWM , и по точно да му променя честотата , която по дефалт явно е зададена да бъде 1kHz , но без успех . Въпроса ми е може ли да се променя регистър , например PWM_CPRDx . Аз ли не знам къде да търся , но каквото и предложение за това да ми дава чичо гугъл , компилатора не го приема . Даташиита на тоя "звяр" няма нищо общо с пикчетата на майкрочип . Тук левела на трудност е x10 |
|
| Автор: | ike [ Съб Ное 29, 2014 10:52 am ] |
| Заглавие: | Re: Въпрос свързан с Arduino Due |
Виж тук: http://www.kerrywong.com/2014/09/21/on- ... frequency/ Виж дали с това: http://www.ebay.com/itm/Mini-USB-Nano-V ... 3f411ed087 трудността не е по-малка. С класическо ардуино ще можеш да намериш много повече примери: http://playground.arduino.cc/Code/PwmFrequency |
|
| Автор: | s7ama7 [ Съб Ное 29, 2014 3:31 pm ] |
| Заглавие: | Re: Въпрос свързан с Arduino Due |
Благодаря , с тоя код мога да променям честотата . А да ви попитам ако си взема нещо по старо като Arduino Mega 2560 , ще може ли да пиша нормален код . Т.е. без да използвам готови библиютеки , както в случая с PWM . Или това ардуиното не позволява такива "волности" |
|
| Автор: | ike [ Съб Ное 29, 2014 9:05 pm ] |
| Заглавие: | Re: Въпрос свързан с Arduino Due |
Arduino е Arduino платка - контролер с бутлоадер. Arduino е Arduino IDE написано на JAVA за да изглежда под Уиндоус, Линукс и Мак еднакво. Arduino е Arduino библиотека (Arduino.h) която дефинира main() функцията, както и другите Arduino функции като: digitalWrite(), digitalRead(), analogRead() и т.н. И всичкото това го подава на компилатора, който е за съответната архитектура/контолер. Например тук: http://www.kerrywong.com/2014/09/21/on- ... frequency/ Показват как можеш да замениш: digitalWrite(8, HIGH); digitalWrite(8, LOW); с g_APinDescription[8].pPort -> PIO_SODR = g_APinDescription[8].ulPin; g_APinDescription[8].pPort -> PIO_CODR = g_APinDescription[8].ulPin; Или с други думи вътре в setup() и loop() можеш да си пишеш директно C код за контолера който имаш: ATSAM3x8E, ATmega2560 или ATmega328p |
|
| Автор: | s7ama7 [ Пон Дек 01, 2014 10:36 am ] |
| Заглавие: | Re: Въпрос свързан с Arduino Due |
Благодаря Ви отново за разясненията. Питането ми е има ли някакъв гуаид за тоя атмел . Че аз нещо не мога да намеря. Това нещо примерно g_APinDescription[8].pPort -> него разбирам. От къде идва първата част g_APinDescription .И на тази -> стрелка не и разбирам смисъла. Ако може да дадете някакво линкче с примерни подобни програми или пък фрагменти от такава с обяснения. Просто ако взема да пиша програма както я пиша за PIC микроконтролер компилатора плюе грешки. |
|
| Автор: | ike [ Пон Дек 01, 2014 1:32 pm ] | ||||||||||||||||||
| Заглавие: | Re: Въпрос свързан с Arduino Due | ||||||||||||||||||
От всички колеги, аз най-малко ги разбирам нещата и не е правилно аз да ги разяснявам, но ще се опитам. Тези 32 битови кортекси са с много повече чаркове от простите 8 битови pic16, за това и програмирането им е малко по-странно. От ардуино се опитват да го прикрият като се ползват простите функции, като digitalWrite(8, HIGH) обаче тази функция digitalWrite в крайна сметка пак вика g_APinDescription[8].pPort -> PIO_SODR = g_APinDescription[8].ulPin; Ако цъкнеш търсене в папката на ардуино ще ти изскочи, че g_APinDescription е дифинирано в: arduino-1.5.8\hardware\arduino\sam\cores\arduino\Arduino.h
A за смисъла на стрелката -> прочети тук: http://www.cplusplus.com/doc/tutorial/structures/
|
|||||||||||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|