Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
01.12.2007, 00:55
|
#11
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
|
На счет компилятора и мплаб.
Поставил 8 мплаб в комплекте установился HI TECH
9.60 PL1 .
Но скорей всего с ограничениями .
|
|
|
|
01.12.2007, 06:57
|
#12
|
Частый гость
Регистрация: 13.12.2006
Сообщений: 36
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Досикус: скажите что весит мплаб 8? в дистрибутиве
и где качать ? микрочип ру ?
|
|
|
|
01.12.2007, 12:26
|
#13
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
|
|
|
|
|
02.12.2007, 20:35
|
#14
|
Частый гость
Регистрация: 13.12.2006
Сообщений: 36
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
скажите пожалуста Досикус
скачать не проблема , а описание на русском где наййти можно ? или скажем мануал , на этот МПЛАБ № 8
также знаюю имеется собственный программатор в среде МПЛАБ, каки сторонние программаторы поддерживает данная программа ? кроме своего фирменного ?
|
|
|
|
23.01.2008, 16:12
|
#15
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Не стал создавать новою тему,решил задать вопрос тут.
Немного стал читать про АВР,попалась подпрограмка на Си чтения из EEPROM
Код:
|
unsigned char EEPROM_read(unsigned int uiAddres)
{
while(EERC & (1‹‹EEWE); //ждать завершения предедущей записи
EEAR = uiAddres; //записываем регистр адреса
EECR |= (1‹‹EERE); //выполнить чтение
return EEDR;
} |
EERC-управляющий регистр EEPROM
EEWE-бит записи
EERE-бит чтения
Интресует строка while(EERC & (1‹‹EEWE); - то есть берется бит EEWE и если он =1 то сдвигаем как бы какой-то регистр и потом с помощью операции И с регистр EERC проверяем что единица.
1) Как понять проверку регистра EERC,ведь это же не бит,а восемь бит ?
2) И после этой проверки изменятся же другие биты в регистре EERC ? ведь как я понял если EEWE=1 то будет операция И регистра EERC и байта B'00000010'(а может B'00000001' ?)
Может где неверно думаю,разъясните.
|
|
|
|
23.01.2008, 18:35
|
#16
|
Прописка
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от stepashka
|
скажите пожалуста Досикус
скачать не проблема , а описание на русском где наййти можно ? или скажем мануал , на этот МПЛАБ № 8 ?
|
Есть перевод мануала только для старой 16-ти битной 5.74 версии. На более поздние версии переводов нет.
|
|
|
|
24.01.2008, 08:15
|
#17
|
Прописка
Регистрация: 11.07.2006
Адрес: Ru, Nsk
Сообщений: 249
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
CERGEI1982:
имхо суть строки while(EERC & (1‹‹EEWE) такая:
сдвинуть еденицу на значение EEWE влево(если EEWE=5, результат будет 000100000). Затем сравнивается EERC и получившееся значение. Т.к. в числе будут все нули кроме того на который указывает EEWE, фактически при этом мы проверим, установлен ли бит EEWE в регистре EERC.
Значение EERC при этом не меняется, т.к. в операциях сравнения типа if, while и т.п. присваивания не происходит, если только это явно не указано (к примеру if(a==1), a сравнивается с 1 но значение его не меняется, а если if(a=1) то а станет еденицей)
|
|
|
|
24.01.2008, 10:20
|
#18
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
А все понял,просто смутило что проверяется весь регистр EERC,не учел что после операции И с чилом 00000010,будет равно нулю если второй бит не установлен в регистре EERC,спасибо за объяснение.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:44.
|
|