Зарегистрирован: Вс мар 04, 2007 13:14:25 Сообщений: 375 Откуда: Украина
Рейтинг сообщения:0
ARV писал(а):
да в том, что у вас нет подавления дребезга кнопок, и я предвижу случайное "задваивание" нажатий.
Ну в протеусе всё работает, в железе не собирал, думаю задержки хватит для предотвращения дребезга... Повторюсь ещё раз, этот код для ознакомительных целей. ну если что прийдётся подправить код.
Krik99, протеус не имитирует дребезг - там всегда все работает. а ваша задержка никакого толку не дает - с чего вы взяли, что она как-то подавит дребезг?!
если вы предлагаете код для обучающихся, вы либо должны гарантировать, что он верный, либо четко уведомить о его недостатках, иначе кто-то будет маяться неделю, пока ему не объяснят, что ваш "ознакомительный" код - не рабочий...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
PS. Не ленитесь и пользуйтесь генератором начального кода в Code Vision AVR, там довольно таки легко всё железо МК настроить...
Вот как раз с точность до наоборот.
Не ленитесь, ознакомтесь с конфигурированием МК и настраивайте все максимально вручную. С "программированием мышкой" далеко не уедишь. Опыт программирования растет не от количества написанных программ, а от количества собственноручно набранных строчек кода (Ctrl+C/Ctrl+V - не считается за написание строки).
Опыт программирования растет не от количества написанных программ, а от количества собственноручно набранных строчек кода (Ctrl+C/Ctrl+V - не считается за написание строки).
не вполне согласен. я бы сказал, опыт растет не от количества написанных строчек, а от количества отлаженных самостоятельно строчек.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Зарегистрирован: Вс мар 04, 2007 13:14:25 Сообщений: 375 Откуда: Украина
Рейтинг сообщения:0
mr.Kirill писал(а):
Krik99 писал(а):
PS. Не ленитесь и пользуйтесь генератором начального кода в Code Vision AVR, там довольно таки легко всё железо МК настроить...
Вот как раз с точность до наоборот. Не ленитесь, ознакомтесь с конфигурированием МК и настраивайте все максимально вручную. С "программированием мышкой" далеко не уедишь. Опыт программирования растет не от количества написанных программ, а от количества собственноручно набранных строчек кода (Ctrl+C/Ctrl+V - не считается за написание строки).
Ну тогда надо переходить на WINAVR. А так если уж пользуешся компилятором Code Vision, почему не воспользоваться и его встроенным генератором начального кода.
не вполне согласен. я бы сказал, опыт растет не от количества написанных строчек, а от количества отлаженных самостоятельно строчек.
Из меня объяснятель не очень то. В принципе это и имел ввиду. Какой толк тупо их набирать, нужно чтобы они работали как положено, а это только после отладки.
Ну тогда надо переходить на WINAVR. А так если уж пользуешся компилятором Code Vision, почему не воспользоваться и его встроенным генератором начального кода.
Ну так а что мешает перейти на WinAVR, между прочим бесплатный и более правильный с точки зрения стандарта языка С.
Сам работаю в CodeVision, WinAVR, IAR. Начинал с ASM (AVR Studio), потому сейчас для настройки железа МК не составляет труда воспользоваться datasheet'ом, которому я доверяю больше чем Code Wizard'у CVAVR.
Привет всем форумчанам! Решил значит изучить CodeVisionAVR приобрел
LCD (совместим с hd44780 и имеется русский набор букв) и attiny2313. Кто знает, как написать простенькую программку (может, через какие-либо библиотеки), чтоб что-нибудь выводила на дисплей. Дисплей подключен по 4-х битной схеме. Вот небольшая табличка подключений.
pb5-E
pb4-RS
pb3-AD7
pb2-AD6
pb1-AD5
pb0-AD4
_________________ Вы получаете от людей больше, если им противоречите
Зарегистрирован: Вт май 27, 2008 23:23:24 Сообщений: 238
Рейтинг сообщения:0
Есть вопрос, но скорее всего он глуп и не оправдан, но всё же я его задам.
У меня есть стандартный датчик температуры DS18B20, я хочу научится с ним работать.
Мне сказали что в библиотеки ds1820.h много всего лишнего, и соответственно занимает много места. И я прочитал что можно не подключать эту библиотеку, а самому написать её. Подскажите пожалуйста где можно про это побольше прочитать? Что вы вообще думаете по этому поводу?
не знаю, есть там лишнее или нет... написать свою - можно, особенно если не заморачиваться с некоторыми фичами типа поиска адресов... но мне кажется, что слухи о большом размере сильно преувеличены. во всяком случае если и писать по-своему, то не для того, чтобы уменьшить размер...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Простейший примерчик. Я вот попробовал скомпоновать два куска кода из exempl-ов. А именно: 1) опрос клавиатурной матрицы и 2) измерение приходящего на АЦП сигнала. По отдельности - всё компилируется, а вместе пишет два предупреждения. В итоге на индикаторе - ничего.
А как указать, какие выводы мк используются для индикациии и что он установлен в 4-Х битном режиме. Ведь в примере там идет 8-битный режим.
В примере CodeVision, что был приведен выше индикатор работает в 4х-битном режиме.
Igor_67 писал(а):
Простейший примерчик. Я вот попробовал скомпоновать два куска кода из exempl-ов. А именно: 1) опрос клавиатурной матрицы и 2) измерение приходящего на АЦП сигнала. По отдельности - всё компилируется, а вместе пишет два предупреждения. В итоге на индикаторе - ничего.
Так может написать сюда, какие предупреждения? Телепатов тут нэма.
Начну с простейшего. Вот такой кусочек кода:
// I2C Bus initialization
i2c_init();
// DS1307 Real Time Clock initialization
// Square wave output on pin SQW/OUT: On
// Square wave frequency: 1Hz
rtc_init(0,1,0);
// LCD module initialization
lcd_init(16);
while (1)
{
// Place your code here
rtc_set_time(12,0,0);
clock=rtc_get_time(0,0,0);
sprintf(lcd_buffer,"time:%c",clock);
// display the clock
lcd_clear();
lcd_puts(lcd_buffer);
delay_ms(200);
};
}
При компиляции пишет:
Error: F:\cvavr2\temp\4\4.c(153): a value of type 'const void' can't be assigned to an entity of type 'unsigned char'
Я так понимаю, что косяк при чтении времени из DS1307? Как здесь надо правильно его считать в буфер LCD, чтоб потом вывести на индикацию?
Я в программировании МК пока что полный чайник, поэтому прошу сильно не пинать.
// DS1307 Real Time Clock initialization
// Square wave output on pin SQW/OUT: On
// Square wave frequency: 1Hz
rtc_init(0,1,0);
// LCD module initialization
lcd_init(16);
while (1)
{
// Place your code here
rtc_set_time(12,0,0);
rtc_get_time(&hour, &min, &sec);
sprintf(lcd_buffer,"time:%c:%c:%c",hour,min,sec);
// display the temperature
lcd_clear();
lcd_puts(lcd_buffer);
//задержка введена для тестирования, потом уберу
delay_ms(200);
};
}
Теперь ошибок и предупреждений нет. На индикатор всё правильно выйдет? Или надо что то исправить?
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения