Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 17.10.2010, 20:32  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Помогите с EEPROM

Добрый вечер всем.
Вобшем чегот туплю.
Не работает
eeprom volatile unsigned char zadanie_U; //переменная задание для источника напряжения
eeprom volatile unsigned char zadanie_I; //переменная задание для источника тока

void start_310 (void){//функция первичного включения инвертора когда подано напряжение вообще
delay_ms (2000); //Ждем 2 секунды пока заряжаются через резистор силовые конденсяторы
PORTB.0=1; //Включаем оптотиристор шунтирующий резистор
if (zadanie_U==0){ //если задание напряжения равно 0
zadanie_U=1; //записываем минимальное значение задания напряжения
}
if (zadanie_I==0){ //если задание тока равно 0
zadanie_I=1; //записываем минимальное значение задания тока
}
delay_ms (500); //Ждем 0,5 секунды
TCCR2=0x6C; //Запускаем таймер 2 со всеми настройками ШИМа
}

Не выполняется
zadanie_U=1;, zadanie_I=1;
Помогите кто знает.
Реклама:
7Fantomas7 вне форума  
Непрочитано 17.10.2010, 20:39  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Помогите с EEPROM

Насколько помню, для записи/чтения в ЕЕПРОМ нужно использовать соответствующие функции, т.к. время записи для ЕЕПРОМ гораздо больше, чем в ОЗУ
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 17.10.2010, 20:48  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Помогите с EEPROM

Цитата:
тветствующие функции
Какие?
Из литературы ясно и четко сказано непосредственная запись и чтение никто не запрещает.
7Fantomas7 вне форума  
Непрочитано 17.10.2010, 20:49  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Помогите с EEPROM

Читается епром быстро. Вот пишется долго.
Easyrider83 вне форума  
Непрочитано 17.10.2010, 20:51  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Помогите с EEPROM

Ну неужели никто не скажет что я не так сделал?
СПАСИБО Я НЕ ЗНАЛ ЧТО ПИШЕТСЯ ДОЛГО.
разве я говорил что ограничен во времени?
7Fantomas7 вне форума  
Непрочитано 17.10.2010, 20:52  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Помогите с EEPROM

Очень долго-флаг ждать требуется.
OlegNZH вне форума  
Непрочитано 17.10.2010, 20:57  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Помогите с EEPROM

Цитата:
Очень долго-флаг ждать требуется.
Какой флаг?, насколько долго? 1 секунду? 1 минуту? 1 час?
Сравнили с нулем, если ноль то записали единицу.
Какой флаг, просто проскакивает и все ничего не меняет. Мне начхать насколько долго этот флаг ждать.
7Fantomas7 вне форума  
Непрочитано 17.10.2010, 20:59  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Помогите с EEPROM

Флаг ждать нужно, если дальше будет опять работа с еепром. Я перед началом записи жду, пока флаг опустится сам. Если епром не занят, операция проходит дальше без задержек. Так удобнее. Бросил данные в регистры и почесал дальше.
Ваша беда в том, что вы используете готовые библиотеки, неизвестно кем и как написанные. От этого и получается кривой код, однозадачность и глюки.
Easyrider83 вне форума  
Непрочитано 17.10.2010, 21:05  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Помогите с EEPROM

Сообщение от 7Fantomas7 Посмотреть сообщение
if (zadanie_U==0){ //если задание напряжения равно 0
zadanie_U=1; //записываем минимальное значение задания напряжения
}

Не выполняется
zadanie_U=1;, zadanie_I=1;
А что сидит в zadanie_U ? (пустая ячейка eeprom FF)

Попробуй для отладки

Код:
if (zadanie_U › 0){    
zadanie_U=1;           
}
CodeNameHawk вне форума  
Непрочитано 17.10.2010, 21:12  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Помогите с EEPROM

Easyrider83,
Ну Вы ж вроде умный человек. Я писал что мне до лампочки сколько времени это пишется.
Обявили переменную
eeprom volatile unsigned char zadanie_U;
Начали выполнять функцию
if (zadanie_U==0){ //если задание напряжения равно 0
прошел 1 час
zadanie_U=1; //записываем минимальное значение задания напряжения
прошло еще 2 часа
}

А выходит так
Начали выполнять функцию
if (zadanie_U==0){ //если задание напряжения равно 0
Фантомас пошел нафиг
zadanie_U=1; //записываем минимальное значение задания напряжения
болт тебе, а не еденица всеравно zadanie_U=0
}
Эта переменная в протеусе прекрасно отображается и ее значение 0, zadanie_U==0 .

CodeNameHawk
Цитата:
А что сидит в zadanie_U ? (пустая ячейка eeprom FF)
я думал об этом и пробовал объявлять переменную так
eeprom volatile unsigned char zadanie_U=0;
те же грабли

А как этот ЕЕПРОМ нулями забить весь? На Сях.

Последний раз редактировалось 7Fantomas7; 17.10.2010 в 21:18.
7Fantomas7 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите определить параметры отечественных транзисторов pulsarv Информация по радиокомпонентам 0 23.05.2010 17:31
Помогите EEPROM PIC18F452 Sergey8870 Микроконтроллеры, АЦП, память и т.д 18 03.03.2010 15:34
Proteus и EEPROM alex28411 Proteus 2 02.01.2010 15:52
[Решено] Проблема с eeprom в Proteus Memfis666 Proteus, KiCAD и другие ECAD 1 01.10.2009 15:38
Помогите найти таблицу Mammba Автоматика и аппаратура связи 6 23.08.2009 13:31


Часовой пояс GMT +4, время: 04:51.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot