[image]

Краткий Курс программирование AVR - часть 8

 
1 2 3 4 5 6 7 12
+
-
edit
 

SensOR

новичок
2 termostat:
Да все нормально, зря ты так близко к сердцу воспринимаешь, я понимаю, сколько времени и души ты вложил в этот курс.

Это не претензии, просто мое мнение, возможно ошибочное, но ведь на то он и форум, верно ?!
А то уже боюсь что-либо спрашивать.
Курс читаю по порядку. Возможно не всегда внимательно, и не все сразу понимаю, но раньше МК не занимался, только программировал, поэтому немного туго получается.

но в файле work.c для задачи 3 есть строчка:
TIMSK = 0x02;
она и делает бит TOIE0 равным "1" - т.е. разрешает прерывание по переполнению таймера_0
 


Я не использовал файл из архива, писал вручную, а Application Builder прописал TIMSK = 0x00. Я на это внимание не обратил, посчитав, что сформированный код верен.
Вспомнил про TOIE0 и разобрался сам, разве плохо ?!




   
RU termostat #11.12.2005 17:31
+
-
edit
 

termostat

аксакал

я наоборот призываю спрашивать! не оставлять ни чего не понятым, но только внчале прочитав курс и сделав что в задачах.

хорошо что ты сам решил сделать прогу но в твоем вопросе это не было ясно, что это не из курса были файлы к задаче.

ты ведь как написал:

Ребята, проблема с 3 задачей с avr123.nm.ru.

Не вызывается прерывание при переполнении 0-го таймера.
Ничего не понимаю, всю ночь просидел
 


========

я не обижаюсь, не думай.

если я писал курс то понимал что будут вопросы.
   
+
-
edit
 

termostat

аксакал


SensOR> Я не использовал файл из архива, писал вручную, а Application Builder прописал TIMSK = 0x00. Я на это внимание не обратил, посчитав, что сформированный код верен.
[»]

скорей всего ты забыл "галочку" прерываться по переполнению поставить - т.е. код генератора верен для того о чем ты его попросил.

=======

скачай лучше свежий 7-й ICC.

   

NoS

новичок
Наконец разобрался с Иглом. Все он, оказывается, может, и то, чего мне так нехватало, разводить по корпусам, и т.д. Помог мне в этом один туториал, правда он английский, но давольно удобный и понятный. Вот прикрепляю, может кому тоже пригодиться.... А как прикрепить???
   

NoS

новичок
Ааа, нашел.
Прикреплённые файлы:
 
   
RU termostat #12.12.2005 01:33
+
-
edit
 

termostat

аксакал

напиши пожалуйста версию документа, дату и колич страниц. а то может есть он уже у меня.
   
+
-
edit
 

Serge77

модератор

И главное - напиши, откуда скачал.
   

NoS

новичок
EAGLE 4.0
for Linux and Windows
Schematic - Layout - Autorouter
Tutorial-2000
(57стр.)
web.mit.edu/eaglecad_v4.09/tutorial-eng.pdf
   
+
-
edit
 

Serge77

модератор

NoS> EAGLE 4.0
NoS> Tutorial-2000

Это старый. Новый лежит на сайте производителя программы. Там есть tutorial и manual.
   
RU termostat #12.12.2005 10:15
+
-
edit
 

termostat

аксакал


Downloads | Get The Latest Version of EAGLE | CadSoft EAGLE |

Download the latest version of EAGLE or view other download directories such as updated part libraries, updates released since v5, ULPs, and Documentation.

// cadsoft.de
 



там же великолепные проекты от пользователей софта:

Projects - Projects from EAGLE users

а так же библиотеки компонентов и документация
   

NoS

новичок
Зато именно он помог мне восстановить статус кво насчет орла.
   

at90

новичок
Тут у меня небольшая проблемка: Прилепил к меге 16 память 24с256.
Но чё-то не заработало. Использовал программный i2c из кодэвижена.
Раньше работал с ds1307. Всё нормально.
Процедуры работы с памятью от termostat из примера 8535 и 24с256.
Памяти много перепробовал. Программатором читаются.


#asm
.equ __i2c_port=0x1b ;PORTA
.equ __scl_bit=0 ;
.equ __sda_bit=1 ;
#endasm

#define EEPROM_BUS_ADDRESS 0xa0(ноги на минус)
void write_byte_eeprom (unsigned int address, unsigned char data)
{
unsigned char sSREG;

sSREG = SREG; // ?aaeno? Noaoona IE

#asm ("cli")
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | ((unsigned char)(address>>8)<<1));
i2c_write((unsigned char)address);
i2c_write(data);
i2c_stop();

SREG = sSREG;
delay_ms(10);

}


//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

unsigned char read_byte_eeprom (unsigned int address)
{
unsigned char data;
unsigned char sSREG;

sSREG = SREG;
#asm ("cli")
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | ((unsigned char)(address>>8)<<1));
i2c_write((unsigned char)address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | ((unsigned char)(address>>8)<<1) | 1);
data = i2c_read(0);
i2c_stop();
SREG = sSREG;
return data;

}

   
RU termostat #13.12.2005 19:59
+
-
edit
 

termostat

аксакал

ты попробуй кстати в PROTEUS - можно и в демо версии.
   
Это сообщение редактировалось 17.12.2005 в 02:36

at90

новичок
А почему в программе адрес 0 если ноги подтянуты к земле. Там же в даташите написано
0b10100 A1 A0 R/W. Т.е 1010 A зашит в микросхеме памяти.
   
RU termostat #14.12.2005 11:33
+
-
edit
 

termostat

аксакал

лучше использовать термин "подтянуты" к питанию.

а к земле "прижаты" или "притянуты" или "заземлены"

ИМХО


Пример рабочий для 24с256.
посмотри внимательней ДШ наверно A2 - на землю замкнут в микрухе ?

иль у тебя микруха не atmel ?
   

at90

новичок
Микруха Atmel. A0,A1,A2 заземлена.
Заработало вот так. Как по даташиту??????

#define EEPROM_BUS_ADDRESS 0xA0
void write_byte_eeprom (unsigned int address, unsigned char data)
{
unsigned char sSREG;

sSREG = SREG; // регистр Статуса МК

#asm ("cli")
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write((unsigned char)address>>7);
i2c_write((unsigned char)address);
i2c_write(data);
i2c_stop();

SREG = sSREG;
delay_ms(10);

}




unsigned char read_byte_eeprom (unsigned int address)
{
unsigned char data;
unsigned char sSREG;

sSREG = SREG;
#asm ("cli")
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write((unsigned char)address>>7);
i2c_write((unsigned char)address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data = i2c_read(0);
i2c_stop();
SREG = sSREG;
return data;
}
   
RU termostat #14.12.2005 14:02
+
-
edit
 

termostat

аксакал

мне вот это не нравится:

i2c_write((unsigned char)address>>7);

цифра 7 не устраивает.

=====

ты можешь цитату про адрес из ДШ на 24с256 привеси?
   
Это сообщение редактировалось 17.12.2005 в 02:20

delay

новичок
Никак не могу разобраться с UART. В 3-ем уроке, вроде, всё понятно. Файлы с урока в VMLAB работают. Но при мониторинге в COM Port Toolkit и LookRS 232 получаю абру-кадабру. Пробую сам написать программу, эту самую абру-кадабру получаю даже в VMLAB.
Прикрепляю файл со своей программой в ICC с текстом проекта для VMLAB
Может кто подскажет, где ошибка?
Прикреплённые файлы:
 
   
RU termostat #14.12.2005 22:16
+
-
edit
 

termostat

аксакал

// desired baud rate: 9600
// actual: baud rate:8929 (7,5%)

слишком большое отклонение от стандартной скорости COM-порта? меняй частоту работы МК или снижай скорость передачи.
   

delay

новичок
Я установил частоту МК 1МГц. Вывод разместил в теле прерывания с частотой 50Гц. Вроде частота небольшая. Значит менять скорость UART пока отклонение не станет минимальным?
   
RU termostat #14.12.2005 23:31
+
-
edit
 

termostat

аксакал

есть в ДШ таблица скоростей и отклонений, а можно в мастере начального кода подобрать чтоб ошибка не была написана красным цветом.
   
+
-
edit
 

AndryG

новичок
Давно-давно в этом курсе (не помню какой части) обсуждался проэкт 'Фантом'
[url=
Сайт расходящихся тропок
]
Сайт расходящихся тропок
[/url]
Часть IV 2-я страница.

Решил это дело повторить .. но нет возможности технической колупаться с мех-частью .. надо заказывать по чертежам "раз и навсегда".


В связи с этим, может кто поможет...
  1. Как расчитать баланс "карусели" ... на боьших оборотах, если не сбалансировать систему - разнесет на мелкие куски. (есть опыт лабораторок универа :) )
  2. Двигатель. На чердаке у родителей дома должен валятся движок от бобинника (Маяк) ... не помню маркировку .. помню, что 1800 оборотов. Этого хватит? И как их (таких движков) стабильность оборотов. Вроде сильно зависит только от частоты сети.
  3. Кто повторял эту конструкцию ... может подскажете подводные камни в мех-части. Жалко будет, если закажу плату, а ее разнесет на части:(
Заранее благодарен :)

___
P.S.
первый раз на этом форуме ваяю ... простите, если безобразно выглядит.
   
Это сообщение редактировалось 15.12.2005 в 11:13
+
-
edit
 

Serge77

модератор

AndryG> Давно-давно в этом курсе (не помню какой части) обсуждался проэкт 'Фантом'

Ты всё-таки найди ссылку, чтобы ясно было, о чём речь идёт.
   

at90

новичок
Ну насчёт смещения ошибся немного. :) Но работает так как адреса чтения и записи одинаковые.
Подправил adress>>8;
Там так написано.


Про адрес из даташита:

Figure 7. Device Address для at24c128 и at24c256

|1|0|1|0|0|A1|A0|R/W|
   
RU termostat #15.12.2005 11:31
+
-
edit
 

termostat

аксакал

AndryG > Давно-давно в этом курсе (не помню какой части) обсуждался проэкт 'Фантом'
 


наверно разумней сделать как рекомендовано на 1-й стр. моего курса - т.е. поискать в сети документацию от изготовивших такую штуку и попробовать сделать.

А с 0 сделать чтоб сразу все работало довольно трудно.


   
1 2 3 4 5 6 7 12

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru