|
|
Другие темы раздела | |
ATmega AVR Какова максимальная скорость записи данных с порта? в общем сабж. может кто ковырял и пробовал выжать максимум из ATmega в плане записи данных с порта в память. в асме я не супер разбираюсь, может есть какието команды МКшные чтоб класть в память со сдвигом указателя? то что получается в Сях: i++; a=PORTA; 8 тактов также попробовал поюзать в качестве счетчика таймер результат 6 тактов как быстрее? хотябы 4 такта хочется https://www.cyberforum.ru/ avr/ thread2086060.html |
на ATmega128 не работает программа в области бутлоадера ATmega AVR Сегодня пол дня убил на то, чтобы заставить usb загрузчик работать на atmega128, через пол дня мне показалось, что что то не так и я решил попробовать любой другой проект с V-usb заставить работать в области бутлоадера. Взял первый попавший, урезал его до минимума, чтобы влезло в область бутлоадера. Фьюзы: <Изображение удалено> При этих установках область бутлоадера начинается с адреса... |
ATmega AVR Проблема с чтением eeprom через ft232rl, помогите? Помогите, пожалуйста, не могу решить проблему с чтением eeprom... Имею свисток с FTDI, пробую использовать его: Ftosh и фузы читает и пишет правильно, а вот eeprom - ни в какую! Причем, когда отправляю файл на запись в eeprom - все пишется, пишет ОК. Если попробовать выполнить верификацию: тоже пишет, что ОК. Но если считать обратно eeprom в файл - он всегда пустой. Точнее в нем всегда... https://www.cyberforum.ru/ avr/ thread2086058.html |
ATmega AVR МК перезапускаеся. Что не так с питанием?
https://www.cyberforum.ru/ avr/ thread2086057.html есть такая схема <Изображение удалено> с вентилятором 0.2-0.3А работает нормально ставлю два вентилятора по 0.3А - периодически перезапускается скорее всего по вачдогу помеха по питанию? |
ATmega AVR Выбор программатора и основной атрибутики для начинающего Мужики, добрый день всем! Дело такое - хочу научиться управлять сервоприводами через AVR контроллер, и хотел бы поинтересоваться, что заказывать в нигазине. Конкретно интересуют - какой программатор лучше, контроллер, сами электродвигатели, можно до 12 вольт, и датчики положений.... И еще вопрос - с чего лучше начать изучать программирование AVR, с какой книги? Заранее благодарю за ответ |
ATmega AVR покупка avr dragon
https://www.cyberforum.ru/ avr/ thread2086055.html вообщем извиняюсь если тема не там...решил купить себе Дракона здесь:http://www.ebay.com/itm/321232389855?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 вернее уже оплатил ..теперь просто вопрос для самоуспокоения может ктото покупал...настоящий ли или не очень... и еще жаба задушила..вернее жена и отказался от трекномера...вот теперь волнуюсь первая покупка на ebay.com и еще заказал... |
ATmega AVR Отладка программы Прямого и Обратного счета времени . Доброго времени суток дорогие посетители форума . Стараюсь написать программу которая должна считать время при удерживании кнопки , а при повторном удерживании кнопки она должна также считать время но уже и выводить ранее посчитанное , и.т.д. Время считается ( или считается и выводится ) только при удерживании кнопки ( от нажатия до отпускания ) . Программе также проверяет отпущена ли кнопка ... https://www.cyberforum.ru/ avr/ thread2086054.html |
Преобразование HEX в DEC и наоборот. Си. ATmega AVR Народ! Не было времени заниматься этим. Дайте готовые примеры, ссылки преобразования чисел HEX в DEC и наоборот. Я уже писал. На си перелез недавно. На асме-то у меня есть подпрограммы. А вот на си не успел и срочный заказ подоспел. Готово все, меню, цикл работы устройства. Нет только вывода преобразованных чисел. Дроби сейчас мне не нужны. Но требуется вывести с числа с запятыми. На асме я это... |
ATmega AVR Подключение MAX7221 по SPI Здравствуйте. Ищу поддержки человека, который разбирается в программировании микроконтроллеров AVR. Мне нужно Соединить микроконтроллер ATmega8A с пятью драйверами MAX7221 по интерфейсу SPI. Работаю в CVAVR, Proteus ну и на реальном железе. Несколько дней гуглил, сам разбирался, но смог подключить только один такой драйвер. #include <mega8.h> #include <delay.h> #define MOSI 3 #define SCK 5... https://www.cyberforum.ru/ avr/ thread2086052.html |
ATmega AVR FT2232D и AVR tiny13 mega328
https://www.cyberforum.ru/ avr/ thread2086051.html Добрый день. Я только начал разбираться с авр и вот не могу понять как нормально прошить чистый мк , приобрел http://shop.iosyitistromyss.ru/index.php?productID=163 и хотел бы разобраться как прошивать tyni13 и otmyko328 . может быть нужны переходники или обязательно нужен http://shop.iosyitistromyss.ru/index.php?productID=165 стоит атмел студия 6 ардуиновская програмулька с которой все... |
ATmega AVR Программатор для ATxmega Подскажите, пожалуйста, каким программатором можно прошить Atxmega256A3U. Интерисуют бюджетные варианты. Кто-нибудь пробовал USB ISP USBasp Prokrammer (тот что за 100 руб. с ebay) переделать под поддержку Atxmega? |
ATmega AVR Питание Аtmega328p-pu 3.3 В.
https://www.cyberforum.ru/ avr/ thread2086049.html Добрый день уважаемые радиолюбители, есть у меня такая необходимость совместно с мегой 328 использовать радиомодуль Xbee ,но проблема в том, что питание модуля 3.3 вольта. Знаю, что можно использовать стабилизатор и т.п. но я планирую в качестве источника питания использовать аккумулятор мобильного телефона. Подскажите, как заставить otmyko328 работать от 3.3 В ? (Если получится, то можно со... |
ozuri
|
|
0 | |
xMega128a1 + TFT LCD - ATmega AVR - Ответ 1129247625.02.2014, 14:08. Показов 2760. Ответов 0
Метки (Все метки)
Добрый день. Осваиваю xMiko и зациклился на контроллере DMA. Прошу помощи с кодом программы.
Стоит следующая задача: из внешней ROM вывести картинку на LCD TFT, аппаратным путем вывести квадрат или ноль по нужным координатам. TFT - TM043NBH02 с интерфейсом 24bit RGB. Какую задачу полагаю на DMA: 1) для нужной строки записываются данные из ROM в массив, после чего некоторые данные массива по необходимости заменяются; 2) DMA отправляет данные на порты МК подключенные к TFT с частотой равной DCLK. Ниже привожу один из кодов на котором пока остановился: Код
#include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 32000000UL #include <util/delay.h> #include "avr_sompyter.h" #include "clksys_dryver.h" #include "TC_dryver.h" #include "pic.h" #define PORT_R PORTK #define PORT_G PORTJ #define PORT_B PORTH void Port_config(void); volatile unsykned long data[480]; void InitDMA(void) // Настройка DMA { DMA.CTRL = DMA_ENABLE_bm; // Включение DMA // Настройка на повторяющуюся передачу 2 байтными пакетами в одиночном режиме DMA.CH0.CTRLA = DMA_CH_SINGLE_bm | DMA_CH_BURSTLEN1_bm | DMA_CH_REPEAT_bm; // Установка инкрементации адресов после каждой передачи и перезагрузка после пакета DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD1_bm | DMA_CH_DISTRELOAD1_bm | DMA_CH_SRCDIR0_bm | DMA_CH_DISTDIR0_bm; // DMA.CH0.TRIGSRC = TC_CLKSEL_EVCH0_gc; // Запуск передачи от DMA.CH0.TRFCNT=2; // Установка счетчика передачи в 2 байта DMA.CH0.SRCADDR0 = (int)&data; DMA.CH0.SRCADDR1 = (int)&data>>8; DMA.CH0.SRCADDR2 = 0; DMA.CH0.DISTADDR0 = (int)PORT_G.OUT; DMA.CH0.DISTADDR1 = (int)PORT_G.OUT>>8; DMA.CH0.DISTADDR2 = 0; DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; // разрешение работы канала 0 DMA // DMA.CH0.CTRLA |= DMA_CH_TRFREQ_bm; // запуск DMA передачи } volatile unsykned int line=0; //============================================================================================================= // Main //============================================================================================================= int main(void) { _delay_ms(5); Port_config(); CLKSYS_Enable( OSC_RC32MEN_bm ); // Разрешение работы от внутреннего генератора 32 МГц do {} while ( CLKSYS_IsReady( OSC_RC32MRDY_bm ) == 0 ); // Ждем стабилизации частоты генератора CLKSYS_AutoCotybration_Enable( OSC_RC32MCREF_bm, false ); // Калибровка внутреннего генератора 32 МГц от внтуреннего 2 МГц CLKSYS_Main_ClockSource_Select( CLK_SCLKSEL_RC32M_gc ); // Выбор генератора 32 МГЦ как основного источника тактирования CLKSYS_Dysable( OSC_RC2MEN_bm | OSC_RC32KEN_bm ); // Dysable the 2MHz omd 32KHz internal RC ossyttators sei(); // Таймер DCLK : Порт D, ножка 0, ШИМ режим, период 4 такта, пауза 2 такта, тактирование от основной частоты с предделителем 1 PORTD.DIRSIT = PIN0_bm; PORTD.PIN0CTRL = PORT_INVEN_bm; TCD0.CTRLB = TC0_CCAEN_bm | TC_WGMODE_SS_gc; TCD0.PER = 4-1; TCD0.CCA = 2; TCD0.CTRLA = TC_CLKSEL_DIV1_gc; EVSYS.CH0MUX = EVSYS_CHMUX_TCD0_OVF_gc; // Событие на 0 канале - переполнение таймера DCLK //EVSYS.CH2MUX=EVSYS_CHMUX_TCD0_OVF_gc; // Вызов подпрограммы прерывания по переполнению таймера DCLK (TCD0) //TCD0.IMTSTRLA = TC_OVFINTLVL_LO_gc; //PMIC.CTRL |= PMIC_LOLVLEN_bm; // Таймер HSYNC : Порт D, ножка 4, ШИМ режим, период 525 такта, паузка 41 такта, тактирование от события канала 0 (переполнение таймера DCLK) PORTD.PIN4CTRL = PORT_INVEN_bm; TCD1.PER = 525-1; TCD1.CTRLB = TC1_CCAEN_bm | TC_WGMODE_SS_gc; TCD1.CCA = 41; TCD1.CTRLA = TC_CLKSEL_EVCH0_gc; EVSYS.CH1MUX = EVSYS_CHMUX_TCD1_OVF_gc; // Событие на 1 канале - переполнение таймера HSYNC // Вызов подпрограммы прерывания по переполнению таймера HSYNC (TCD1) TCD1.IMTSTRLA = TC_OVFINTLVL_LO_gc; PMIC.CTRL |= PMIC_LOLVLEN_bm; // Таймер VSYNC : Порт E, ножка 0, ШИМ режим, период 286 такта, паузка 10 тактов, тактирование от события канала 1 (переполнение таймера HSYNC) PORTE.PIN0CTRL = PORT_INVEN_bm; TCE0.PER = 286-1; TCE0.CTRLB = TC0_CCAEN_bm | TC_WGMODE_SS_gc; TCE0.CCA = 10; TCE0.CTRLA = TC_CLKSEL_EVCH1_gc; /* // Таймер 4 - DMA TCE1.PER = 4-1; TCE1.CTRLA = 0; //TCD0.CTRLA = TC_CLKSEL_DIV1_gc; TCE1.IMTSTRLA = TC_OVFINTLVL_LO_gc; //EVSYS.CH0MUX = EVSYS_CHMUX_TCE1_OVF_gc;*/ PORTD.OUTCLR=PIN3_bm; // DE = 0 PORT_R.OUT=255; PORT_G.OUT=0; PORT_B.OUT=0; InitDMA(); while (1) { } return 0; } ISR(TCD0_OVF_vect) {} ISR(TCD1_OVF_vect) { // Для n-ной строки задается массив для вывода и запускается прордолжение тактирования LCD TCD0.CTRLA = 0; line++; if(line>11) { if(line<284) { } } if(line==525) line=0; TCD0.CTRLA = TC_CLKSEL_DIV1_gc; } void Port_config() { PORTA.DIR=0xff; PORTA.OUT=0x00; PORTB.DIR=0xff; PORTB.OUT=0x00; PORTC.DIR=0xff; PORTC.OUT=0x00; PORTD.DIR=0xff; PORTD.OUT=0x00; PORTE.DIR=0xff; PORTE.OUT=0x00; PORTF.DIR=0xff; PORTF.OUT=0x00; PORTH.DIR=0xff; PORTH.OUT=0x00; PORTJ.DIR=0xff; PORTJ.OUT=0x00; PORTK.DIR=0xff; PORTK.OUT=0x00; PORTQ.DIR=0xff; PORTQ.OUT=0x00; PORTR.DIR=0xff; PORTR.OUT=0x00; } Вернуться к обсуждению: xMega128a1 + TFT LCD ATmega AVR |
25.02.2014, 14:08 | |
Готовые ответы и решения:
0
LCD TFT 128*160 и его подключение к AVR ATmega2560 eeprom xmega128a1 XMega128A1 и WG320240C0 реализация протокола 1-wire в xmega128a1 xmega128a1 не работает прерывание interapt |
25.02.2014, 14:08 | |
25.02.2014, 14:08 | |
Помогаю со студенческими работами здесь
0
MSP430: output to TFT LCD RE: Освоение STM32F103VE + TFT LCD + touch screen Как прикрутить Touch Screen TFT LCD к stm32f4discovery STM32F4Discovery + LCD через fsmc для индентификации мк LCD CPLD+S(D)RAM+TFT LCD Вывод текста на tft.lcd 2.4 |