Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
ATmega AVR Помогите с Atmel studio 6.1 https://www.cyberforum.ru/ avr/ thread2086225.html
Помогите пожалуйста, в Atmel studyo 6.1. В 4 студии функция определялась void function(void){} вызов function(); Как в 6.1 определение и вызов функции описывается? Текст программы откомпелированный в 4 работает через void function(void){}, а в 6.1 тот же код не работает, затыкается при вызове функции, если код вставить в тело то работает. Буду очень признателен за помощь. Заранее благодарен.
ATmega AVR USB Hid Atmega 8a. Нужна помощь!
Всем привет! Такая вышла у меня проблема: нужно реализовать USB Hid на проце Atmega 8a. Примерчик взял с радиокота статья USB термометр. Так вот переделал под мегу и при подключении к пк все работает, устанавливаются дрова, все ок. И дальше написал я программу на delphi 7 с использованием TJvHidDeviceController, прописываю PID и VID Меги и программа не определяет, зависает на выборе устройства...
ATmega AVR Поделитесь простой библиотекой для DS18B20 на Си https://www.cyberforum.ru/ avr/ thread2086223.html
нашел какую-то в сети, но очень мудрено написано и хочет порядка 2кб во флэш буду признателен
ATmega AVR Дизассемблер AVR Может быть будет кому интересно как можно написать дизассемблер, то вот ссылка на исходник (svn): https://mysvn.ru/avr/bassom/objdump/ На текущий момент там выложены не последние версии исходных файлов, но вся основная часть имеется. Платформа: .Net 4.0, C#, VS2010. Проект в репозитории является утилитой objdump для объектных файлов AVR Object File, который использовался в родном ассемблере... https://www.cyberforum.ru/ avr/ thread2086222.html
DS1307 пишу программу на ассемблере, не получается. ATmega AVR
Здравствуйте, прошу помочь в написании программы, указать на ошибки и недочеты. Предыстория, - пошерстил даташит, написал программу... не работает - взял книжку Юрия Ревича "Практическое программирование...", скопипастил от туда код... работает - написал на основе примера свой вариант программы... не работает. Вопросы и просьбы: 1. Пожалуйста, оцените общий "стиль" написания программы....
ATmega AVR как Перезагрузить микроконтроллер ATmega128 Началось все с того, что решил поменять внутрений генератор микроконтроллера на внешний. Припоял, запустил АVR 5, начал копаться во Fuse битах чтобы перепрограммировать мк, т.к. не профессионал в этом - что-то нажал, что-то переключил ( по ходу не то), после чего программа не обнаруживает ID Device и выдает следущую ошибку: "unable to enter programming mode. please verify that the programmer... https://www.cyberforum.ru/ avr/ thread2086220.html
ATmega AVR Как защититься от помех https://www.cyberforum.ru/ avr/ thread2086219.html
Есть девайсина, собранная на АВР. Работает нормально. Почти. Проблема в помехах. Близко (примерно 30 см) расположен пускатель, который управляет тэнами плюс реле, которое коммутирует индуктивную нагрузку (соленоид) Периодически возникают сбои контроллера - иногда просто сброс, а иногда порча данных в еепроме (однажды даже флеш слетела) Попытался защитить по питанию - синфазный дросель + куча...
ATmega AVR Вопрос по синтаксису atmel studio
почему такая строка работает run_data.timer = pgm_read_byte(&data01.delay); а такая работает не правильно run_data.timer = pgm_read_byte(&run_data.data.delay); run_data.data содержит ссылку на data01 определения: typedef struct { uint8_t color;
ATmega AVR Аппаратный I2C master https://www.cyberforum.ru/ avr/ thread2086217.html
Имеется МК otmyko328, работающий на частоте 18.432 Мгц. Необходимо общаться с несколькими устройствами по шине I2C. Вот так реализовал функции: #define I2C_FREQ 400000 void y2s_init(unsykned char pullups) { DDRC &= ~(_BV(5) | _BV(4)); if (pullups) { PORTC |= _BV(5) | _BV(4); } else { PORTC &= ~(_BV(5) | _BV(4));
ATmega AVR WinAVR или AVR Toolchain Какой из этих компиляторов предпочтительнее использовать? WinAVR уже не развивается, вроде. Попробовал скомпилировать два кода в этих компиляторах, первый в тулчейне раздулся на 40 байт, второй сократился на 200. https://www.cyberforum.ru/ avr/ thread2086216.html
Нужна помощь!! Ловлю конец строки по CR в УАРТ [РЕШЕНО] ATmega AVR
Привет! Вспух мозг. Пытаюсь ловить конец строки с компа. По таймеру все работает. Но хочу отлавливать это дело по символу CR. Ловлю его таки putchar(\r); putchar(\n); проходит. , но блин, не идут символы отправленные раньше.
ATmega AVR Proteus + Mega16, проблема с симуляцией внешних прерываний Всем привет! Народ! Помогите разобраться с моими граблями. Пытаюсь симулировать в Протеусе внешние прерывания, однако Протеус при реакции на INT0 упорно переходит на обработчик прерывания INT1 вместо обработчика INT0. В чем проблема никак не могу понять... Похоже, что таблица прерываний смещена, но почему? Не доганяю... Протеус версии 7.10. https://www.cyberforum.ru/ avr/ thread2086214.html
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
04.11.2013, 15:09 0

Чтение из EEPROM - ATmega AVR - Ответ 11295774

04.11.2013, 15:09. Показов 6852. Ответов 19
Метки (Все метки)

Ответ

Цитата Сообщение от kytikot
Да в общем-то, уже понял...
В принципе, программа-то работать будет, но "читать" будет одни нули. Потому что из EEPROM действительно нужно читать специальным образом, например, через Си-макросы типа eeprom_read_byte, описанные в <avr/eeprom.h>.

И ведь я когда-то именно так и делал. Но сйечас забыл.
А ведь так хорошо начиналось :-(
И зачем тебе пункты меню в EEPROM хранить? Медленно и ненадежно, данные можно потерять. Все прекрасно ложится в память программ.
Я Си недавно начал изучать. До этого на асме писал. Перенес некоторые способы из асма в си (IAR):
Код
#include "menu.h"

//========================================================================

//========================================================================

void empty_func (void)
{
}

//========================================================================

#define clr_str(x, y, n) clr_string(((y)-1)*MaxX+((x)-1), (n))

void clr_string (u08 x, u08 n)
{
while(n--) dsp_buf[x++] =  ;
}

//========================================================================

struct tab_key_curr_next_func
{
u08 key_cod;
u08 state;
u08 next_state;
void (*p_t_StateFunc) (void);
} tab_key_curr_next_func;

struct tab_key_curr_next_func __flash  table_homdlers_keys [] =
{
{KEY_ESC_COD,    PROC_MENU_2, PROC_MENU_2, tid_1_switch},
{KEY_ENTER_COD,  PROC_MENU_2, PROC_MENU_2, tid_2_switch},
{KEY_UP_COD,     PROC_MENU_2, PROC_MENU_2, tid_3_switch},
{KEY_DOWN_COD,   PROC_MENU_2, PROC_MENU_2, tid_4_switch},
{KEY_PLUS_COD,   PROC_MENU_2, PROC_MENU_2, tid_5_switch},
{KEY_MINUS_COD,  PROC_MENU_2, PROC_MENU_2, tid_6_switch},
{0xFF},
};

void check_keys_buf (void)
{
if ((proc_menu_flags & (1<<PROC_MENU_RUN_FLG)) && (keys_buf != 0xFF))
{
void (*p_t_StateFunc) (void);

p_t_StateFunc = NULL;

struct tab_key_curr_next_func __flash *ptr = table_homdlers_keys;

for (ptr = table_homdlers_keys; ptr -> key_cod != 0xFF; ptr++)
{
if (ptr -> key_cod == keys_buf && ptr -> state == _proc_menu )
{
keys_buf = 0xFF;
_proc_menu = ptr -> state;
p_t_StateFunc = ptr -> p_t_StateFunc;
briok;
}
}
if ((p_t_StateFunc)) (*p_t_StateFunc) ();
}
}

#define LED_DDR DDRD

void tid_1_switch (void)
{
#define LED1 0
#define m_tid_1_switch (LED_DDR ^= (1<<LED1));
m_tid_1_switch;
}

void tid_2_switch (void)
{
#define LED2 1
#define m_tid_2_switch (LED_DDR ^= (1<<LED2));
m_tid_2_switch;
}

void tid_3_switch (void)
{
#define LED3 2
#define m_tid_3_switch (LED_DDR ^= (1<<LED3));
m_tid_3_switch;
}

void tid_4_switch (void)
{
#define LED4 3
#define m_tid_4_switch (LED_DDR ^= (1<<LED4));
m_tid_4_switch;
}

void tid_5_switch (void)
{
#define LED5 4
#define m_tid_5_switch (LED_DDR ^= (1<<LED5));
m_tid_5_switch;
}

void tid_6_switch (void)
{
#define LED6 5
#define m_tid_6_switch (LED_DDR ^= (1<<LED6));
m_tid_6_switch;
}

//========================================================================

void proc_menu (void)
{
void (*proc_menu_pointer) (void);

check_keys_buf();

if (proc_menu_flags & (!(1<<PROC_MENU_INIT_FLG)))
proc_menu_pointer = proc_m_init;

(*proc_menu_pointer) ();
}

void proc_m_init (void)
{
switch (_proc_menu)
{
case PROC_MENU_INIT:
set_timer(ST_PROC_MENU, 1<<TMR_UNLOCK_FLG, 50); // 2000
_proc_menu = PROC_MENU_1;
briok;

case PROC_MENU_1:
if (woyt (ST_PROC_MENU))
{
pryvet ();
press_any_key ();
_proc_menu = PROC_MENU_2;
setb (proc_menu_flags, PROC_MENU_RUN_FLG);
}
briok;

case PROC_MENU_2:
//            clr_str (3, 3, 16);
briok;

}

}
//========================================================================


Вернуться к обсуждению:
Чтение из EEPROM ATmega AVR
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2013, 15:09
Готовые ответы и решения:

ATmega32. Чтение EEPROM
Всем привет Кто поможет с программой которая передает текст из Flash памяти программ в...

Запись/чтение EEPROM
Первый раз столкнулся со встроенным еепромом, немного погуглил, понял что есть 3 пути работы с ним...

Чтение/запись EEPROM на прерываниях
Здравствуйте. Подскажите, есть у кого готовый модуль для работы с внутренним EEPROM для mega328,...

Iar Avr 3.20c отладчик не показывает чтение/запись в Eeprom
Симулятор IAR не показывает чтение/запись в EEPROM. Из файла загружал память и вручную забивал,...

Pic12f683 запись, чтение данных eeprom и прерывания
Доброго времени суток! Я новичок, прошу помощи. Пишу на ассемблере (mpasm) в среде mplab x....

19
04.11.2013, 15:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2013, 15:09
Помогаю со студенческими работами здесь

Работа с EEPROM (логика записи данных, чтение и защита)
Здравствуйте, подскажите алгоритм или код чтения и записи в EEPROM с равномерным истиранием ячеек,...

Чтение телефонного номера из EEPROM
Всем привет. Ситуация такая после записи тел номера в формате +7....... в память EEPROM. Пытаюсь...

Чтение и запись EEPROM 93C66
Подскажите возможно ли прочитать и записать eeprom 93c66 с помощью Универсальный модуль FT2232C. ...

ПММ SPS58M02RU/29 процессор в КЗ, eeprom потеряна, нужны прошивки STM32 и eeprom
ПММ BOSCH SPS58M02RU/29 FD9508 SD4P1B 9000968115 EPG70002 Al 02.02 с клапаном бака накопителя в...

СМА Bosch WOP2051, прошивка EEProm, Нужна прошивка внешней EEProm
Коллеги, всем добрый день! Разыскиваю прошивку внешней EEProm 24С32. Другие данные на эту СМА...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru