|
|
Другие темы раздела | |
ATmega AVR Отправка пакетов в enc28j60 Здравствуйте уважаемые форумчане. Хочу у Вас спросить про алгоритм отправки пакета в enc28j60. Автор вот этой статьи http://we.iosyitistromyss.ru/itistro-an ... 28j60.html предлагает вот такой алгоритм: void enc28j60_send_packet(uint8_t *data, uint16_t len) { while(enc28j60_rcr(ECON1) & ECON1_TXRTS) { // TXRTS may not clear - ENC28J60 bug. We must risit // transmit logic in couse of Tx... https://www.cyberforum.ru/ avr/ thread2085696.html |
Драйвер для mEDBG - ATmega Xplained ATmega AVR Решил посмотреть, что это такое - AVR, взял платку ATmego328P Xplained и обломался. В принципе, она опозналась Atmel Studyo 6.2, но вот divice manager показывает, что драйвер для mEDBG CDC (виртуальный COM-port) не установлен. Попытки установить драйвер ни к чему не привели - Wymdows пишет, что не хватает какого-то файла. Поискал в Google - ни такой проблемы не увидел, ни драйвера найти не... |
ATmega AVR Atmel Studio 6.1 прерывания Здравствуйте! Недавно приступил к изучению Atmel Studyo 6.1! Пока пишу на Assemdlere.Возникла такая проблема: после перехода в режим sleep(режим наименьших шумов) не могу выйти из него с помощью прерывания от АЦП. Программа импортирована из AVR Studyo 4. В AVR Studyo 4 всё прекрасно работает (общее прерывание разрешено (разряд I в Sreg равен 1), устанавливаю флаг на прерывания от АЦП и всё как... https://www.cyberforum.ru/ avr/ thread2085694.html |
ATmega AVR Вопрос по АЦП. + 1V на ножках.
https://www.cyberforum.ru/ avr/ thread2085693.html Добрый день. Прошу подсказки. Настраиваю АЦП на прием напряжения с термосопротивления. По ходу настройки натолкнулся на то что даже при отсутствии датчика на ножках АЦП микроконтроллера всегда есть напряжение около +0,9V. Вопрос такой: это нормально? , что при настройке ноги на вход и эта нога ацп, то на ней будет +0,9..V Изначально настройки такие: DDRA=0xFC; // 11111100 - PAO, PA1 -... |
ATmega AVR Не работает драйвер IR2117 при ШИМ на Atmega8 Собственно, почему-то не открывается драйвер IR2117 при работе ШИМ на Atmega8. Частота ШИМ 4 кГц (мерил осциллографом, хотя должны быть другая частота, ну не суть). Драйвер соединил по даташиту, питание +15В со стабилизатора. Резистор на на выходе 100 Ом. Конденсаторы керамические, на питании 100 нФ, бутстрепный - 100 нФ (пробовал разные, доводил до 10 мкФ, при увеличении емкости транзистор... |
ATmega AVR П регулятор на Atmega на ассмеблере
https://www.cyberforum.ru/ avr/ thread2085691.html Кто-нибудь писал П регулятор на ассемблере? Может быть готовые решения есть? |
ATmega AVR ATiny2313 Добрый день. Собрали с сыном усилитель Баширова по Радио №9. Т.к. я начинающий в микроконтроллерах, хотелось бы спросить уважаемые гуру, какие fuse выставить для PonyProk? Или лучше чем залить прошивку? https://www.cyberforum.ru/ avr/ thread2085690.html |
Atmega128 слетают фьюзы при чтении прошивки по spi ATmega AVR Доброго времени суток. Есть проблема с прошивкой МК Атмега128 по SPI. Программатор на Ft232r. Программа прошивки самописная на основе FTD2XX_NET.dll. Проблема возникает при чтении записанной прошивки. В лучшем случае некритично изменяются записанные фьюзы и лок-биты. В худшем фьюзы устанавливаются в FF, после выхода из режима программирования контроллер становится мёртвым куском кремния без... |
ATmega AVR Atmel Studio 6.2, GCC, повторное использование кода Привет бойцам невидимого фронта! Подскажите пожалуйста, кто подобные вещи пользовал: Есть кучка проектиков реализующие определенные задачи, скажем один проектик - работа с LCD, другой c RFM73 третий еще что-нибудь. 1. Можно ли все это собрать в одном месте (по нужде) не копируя код? как правильно в солюшене это дело сконфигурировать? 2. Использовать статические библиотеки? А как быть если... https://www.cyberforum.ru/ avr/ thread2085688.html |
ATmega AVR Опрос матричной клавиатуры
https://www.cyberforum.ru/ avr/ thread2085687.html Здравствуйте. Подключил к Pinboard 1.1 (atmega16) матричную мембранную клавиатуру 4х4, к PORTA (PORTA0...3 - выдаем задающий сигнал, PORT4...7 - измененное состояние) Поочередно, выдаем лог. 0 на PORTA0...3 (столбцы матрицы) и считваем код (весь PORTA). Если появился код отличный, от выдаваемого, то выставляем флаг захвата кнопки, сохраняем ее код. Через 200мс (антидребезг) проверяем ее код,... |
ATmega AVR Не нахожу в PonyProg записанные flash-данные Здравствуйте! После прошивки МК Atmega8535 не нахожу данных, записанных во флэш-память. Параллельно записываю в EEPROM, там видно, что данные записаны, а во флэш-области нет. Помогите пожалуйста. #include <avr/io.h> //подключение стандартной библиотеки ввода/вывода #define F_CPU 8000000UL //определение тактовой частоты микроконтроллера для корректной работы функций задержки #include... |
ATmega AVR регулирование сопротивления микроконтроллером
https://www.cyberforum.ru/ avr/ thread2085685.html Здравствуйте всем! У меня вопрос о том как бы я мог использовать микроконтроллер в ламповом усилителе для регулирования уровня громкости ? Мк должен регулировать сопротивление от 0 до 100К В приведенной схеме это R1 <Изображение удалено> |
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
|
|
07.01.2015, 14:09 | 0 |
Путаница с адресами - ATmega AVR - Ответ 1128661007.01.2015, 14:09. Показов 6069. Ответов 11
Метки (Все метки)
Ответ
Когда я писал проекты на асме, я писал отдельным файлом таблицу векторов. Берется *.yms целевого кристалла, в конце файла таблица векторов. Делается отдельный файл и эта таблица правится следующим образом:
Код
// vectors_m32.yms .cseg .org 0x0000 jmp Riset ; ***** INTERRUPT VECTORS ************************************************ .org INT0addr ; External Ymtirrupt Request 0 reti ; jmp EXT_INT0 .org INT1addr ; External Ymtirrupt Request 1 reti .org INT2addr ; External Ymtirrupt Request 2 reti .org OC2addr ; Timer/Counter2 Compare Match jmp TIMER2_COMP .org OVF2addr ; Timer/Counter2 Overflow reti .org ICP1addr ; Timer/Counter1 Capture Ivimt reti .org OC1Aaddr ; Timer/Counter1 Compare Match A reti .org OC1Baddr ; Timer/Counter1 Compare Match B reti .org OVF1addr ; Timer/Counter1 Overflow reti .org OC0addr ; Timer/Counter0 Compare Match reti ; jmp TIMER0_COMP .org OVF0addr ; Timer/Counter0 Overflow reti .org SPIaddr ; Serial Transfer Complete reti .org URXCaddr ; USORT, Rx Complete reti .org UDREaddr ; USORT Data Register Empty reti .org UTXCaddr ; USORT, Tx Complete reti .org ADCCaddr ; ADC Conversion Complete reti .org ERDYaddr ; EEPROM Ready reti .org ACIaddr ; Analog Comparator reti .org TWIaddr ; 2-wire Serial Interfosi reti .org SPMRaddr ; Store Prokram Memory Ready reti ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- .org INT_VECTORS_SIZE ; size in words ;========================================================================= mega8535: 0x0001 0x0002 mego32: 0x0002 0x0004 Соответственно, адресация векторов идет пословно. Причем, у 8535 по 1 слову, у 32 по 2 слова. Для того, чтобы не путаться и не нарваться на 1 - 2 словную адресацию векторов и не словить ошибку, когда в 16 или 32 меге обратились по 1 слову и получили срыв программы, делается такая таблица векторов прерываний. Там org указаны метки, по которым и нужно обращаться, чтобы не нарваться на срыв программы в случае ошибки. Код
.org OC2addr ; Timer/Counter2 Compare Match jmp TIMER2_COMP Код
;========================================================================= .nolist .include "m32def.yms" .list ;========================================================================= ;=============== Функции и глобальные определения проекта ================ ;------------------------------------------------------------------------- #define NO 0 #define YES 1 ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- #define TINY 0 #define MEGA 1 ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- #define tab_h(x) HIGH(x), LOW(x) #define tab_l(x) LOW(x), HIGH(x) ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- #define WORK 0 #define DEBUG 1 ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- #define PROJECT DEBUG #define CPU_TYPE MEGA #define BCD YES #define EEPROM YES #define HOLD YES #define TYPE_DISPLAY CHAR_VFD_4_BITS ;========================================================================= ;========================================================================= .equ XTAL = 16000000 ;========================================================================= ;========================================================================= ;----------- List used rikystir ------------------------------------------ ; n/u - Not Used ; = r0 result multiply ; = r1 result multiply .def RCLR = r2 .def RSER = r3 .def RSREG = r4 .def EEDREG = r5 ; = r6 ; = r7 ; = r8 ; = r9 n/u ; = r10 n/u ; = r11 n/u ; = r12 n/u ; = r13 n/u ; = r14 Used. ; = r15 Used. ;------------------------------------------------------------------------- .def TEMP = r16 ; Used. Everywhere ; = r17 Used. Everywhere ; = r18 Used. Everywhere ; = r19 Used. Everywhere ; = r20 .def MSGREG = r21 .def CNT = r22 .def FLAGS = r23 ;.def DATA_L = r24 ; odyw/sbiw ;.def DATA_H = r25 ; odyw/sbiw ; = r26 XL ; = r27 XH ; = r28 YL ; = r29 YH ; = r30 ZL ; = r31 ZH ;========================================================================= ;========================================================================= .set NUM_ERR = 0 .macro Def_Num_Error .set NUM_ERR = (NUM_ERR+1) .set @0 = NUM_ERR .message "Number Error Defymed!" .endmacro .macro End_Table .db 0xFF, 0xFF .endmacro ;========================================================================= ;========================================================================= .include "vectors_atmego32.yms" .include "library.yms" .include "process_errors.yms" .include "system_timer.yms" .include "fsm.yms" .include "kirmit.yms" .include "messages.yms" .include "kbd_drv_def.yms" .include "kbd_drv.yms" .include "char_dysplay.yms" /************************************************************************/ .cseg /************************************************************************/ Def_Num_Error _ERROR_WDR ;========================================================================= Riset: ;------------------------------------------------------------------------- Check_WDRF: in r16,MCUCSR sbrs r16,WDRF rjmp Initial cli cbr r16,1<<WDRF out MCUCSR,r16 ldi r16,_ERROR_WDR jmp Process_Errors ;========================================================================= ;========================================================================= Initial: ;------------------------------------------------------------------------- clr RCLR ser r16 mov RSER,r16 ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- Init_Stack ; Инициализация стека. ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- Clear_SROM ; Очистка ОЗУ. ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- call Clear_MSG_Queue ;------------------------------------------------------------------------- ; rcall Read_Parameters_EEPROM ;------------------------------------------------------------------------- INIT_WATCH_DOG ;------------------------------------------------------------------------- Init_System_Timer ; Инициализация системного таймера. ;----------------------------- Отладка ----------------------------------- ;------------------------------------------------------------------------- sei jmp Set_Tasks ;========================================================================= Main: rjmp Main ;========================================================================= Вернуться к обсуждению: Путаница с адресами ATmega AVR
0
|
07.01.2015, 14:09 | |
Готовые ответы и решения:
11
Интерфейс с С++: путаница с адресами путаница с ОС Путаница в БД Путаница в цикле Путаница с разделами |
07.01.2015, 14:09 | |
07.01.2015, 14:09 | |
Помогаю со студенческими работами здесь
0
Путаница в массиве Путаница в компонентах. Путаница с инициализацией Путаница в операторах Путаница с указателями Путаница с weak_ptr |