Игорек
Участник-
Постов
39 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Игорек
-
Звание
Участник
Посетители профиля
-
:cheers: Одно другому не мешает)
-
Забыл упомянуть, что достаточно одноосевого датчика. Спасибо всем ответившим, теперь понятно в каком направлении копать.
-
Здравствуйте, посоветуйте пожалуйста датчик угла поворота относительно горизонта. Выход аналоговый, пропорциональный углу наклона датчика относительно горизонта. Диапазон измерения - плюс (минус) 15 градусов. Точность 0.1 градуса. Устойчивость к вибрации, грязи, воздействию воды (дождь). Предлагайте любые варианты, кроме потенциометрических.
-
Проблемы с AVR плагином Eclipse
Игорек опубликовал тема в GNU/OpenSource средства разработки
Здравствуйте! ОC Windows 7 Максимальная-32, программатор STK-200 (5 проводков с буфером на 74HC244) Установил 1. Eclipse IDE for C/C++ Developers Version: Juno Service Release 1 Build id: 20120920-0800 2. Плагин avreclipse.2.4.0.final.p2repository 3. AVR toolchain 3.4.1.1195 4. В Eclipse->Windows->Preferences выставил пути к GCC, AVRDUDE и т.п. Создал С-проект. В Project explorer по щелчку правой кнопки выбираю Properties, дальше выбираю страницу AVR->AVRDude и выскакивает ошибка "The currently displayed page contains invalid values". 1. Мне не понятно, что за неверные значения содержатся на странице AVRDude? Дальше я захожу в AVR-Target Hardware, хочу выбрать MCU type но выпадающий список пустой. Нажимаю Load from MCU - ноль реакции... 2. Почему нельзя выбрать тип контроллера? -
Две пересекающихся окружности
Игорек ответил Игорек тема в В помощь начинающему
Спасибо всем ответившим, тема решена! -
Две пересекающихся окружности
Игорек опубликовал тема в В помощь начинающему
Пару раз видел на иностранных схемах некий элемент, обозначенный как две пересекающихся окружности? Что это? Предполагаю, что это один из вариантов обозначения источника постоянного тока, но не уверен. -
Подключение DS18B20 к Atmega8
Игорек ответил Игорек тема в MCS51, AVR, PIC, STM8, 8bit
Спасибо за помощь! -
Подключение DS18B20 к Atmega8
Игорек ответил Игорек тема в MCS51, AVR, PIC, STM8, 8bit
Makefile я делал сам, из первоисточника я брал только определение функции w1_find() и директивы #define. А вобще как-то влияет ли на функции delay частота, с которой работает микроконтроллер? Скажем, если я выставлю фьюзы и Makefile на 1 МГц и вызову функцию _delay_us(10), а потом выставлю фьюзы и Makefile на 8 МГц и вызову функцию _delay_us(10) , временные задержки будут абсолютно идентичны или будут все-таки различаться? -
Подключение DS18B20 к Atmega8
Игорек ответил Игорек тема в MCS51, AVR, PIC, STM8, 8bit
Изначально в Makefile стояла частота 1Мгц, фьюзы изначально также были на 1 МГц. Где это посмотреть? -
Подключение DS18B20 к Atmega8
Игорек ответил Игорек тема в MCS51, AVR, PIC, STM8, 8bit
Блин, прошил фьюзы на 8 МГц, поставил в Makefile F_CPU = 8000000 и все заработало. Чертовщина какая-то...На 1 Мгц никак, на 8 работает. Почему? -
Подключение DS18B20 к Atmega8
Игорек опубликовал тема в MCS51, AVR, PIC, STM8, 8bit
За основу взял эту статью: http://samou4ka.net/page/interfejs-1-wire-...hik-ds18b20#cut К моему микроконтроллеру подключен 7-сегментный 3-х разрядный индикатор(d0-d7 - сегменты, b0-b2 - разряды), а также датчик температуры DS18B20 к порту c0. Хочу, чтобы если на с0 есть датчик - 7-сегментный индикатор выводил 1, нет датчика - 7 сегментный индикатор выводил 0. Ниже код в WinAVR. Почему подключенном датчике 7-сегментный индикатор выводит 0, хотя должен 1? Фьюзы стоят на 1 МГц. #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define F_CPU = 1000000UL #define W1_PORT PORTC #define W1_DDR DDRC #define W1_PIN PINC #define W1_BIT 0 //функция определяет есть ли устройство на шине unsigned int w1_find() { unsigned char device; W1_DDR |= 1<<W1_BIT;//логический "0" _delay_us(485);//ждем минимум 480мкс W1_DDR &= ~(1<<W1_BIT);//отпускаем шину _delay_us(65);//ждем минимум 60мкс и смотрим что на шине if((W1_PIN & (1<<W1_BIT)) ==0x00) device = 1; else device = 0; _delay_us(420);//ждем оставшееся время до 480мкс return device; } // 0 1 2 3 4 5 6 7 8 9 const unsigned char codes[10]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char data[3]={0x00,0x00,0x00}; int main(void) { unsigned int x=0; while(1) { //Conver data to codes DDRD = 0xff; DDRB = 0xff; PORTB = 0xff; x = w1_find(); PORTD = codes[x]; _delay_ms(1000); } return 1; } 1. В чем может быть дело, подскажите куда копать. На скриншоте - осциллограмма на ножке c0. 2. Помогите разобраться с операторами функции w1_find(): W1_DDR |= 1<<W1_BIT - как я понял логическое ИЛИ между содержимым регистра W1_DDR и числом 00000001. Но чему равно содержимое регистра W1_DDR, оно же ранее нигде не задано? -
Светодиод, управляемый кнопкой
Игорек опубликовал тема в MCS51, AVR, PIC, STM8, 8bit
Только начал изучать AVR, решил собрать на ATmega8 схему включения-выключения светодиода одной кнопкой(Нажимаем на кнопку, она коротит одну из ножек контроллера на землю, светодиод припаянный к другой ножке тухнет, нажимаем еще раз - светодиод загорается). На ножке PB0 - светодиод, на ножке PB1 - кнопка. .include "m8def.inc" .org 0 RJMP Reset Reset: LDI R16,Low(RAMEND) OUT SPL,R16 LDI R16,High(RAMEND) OUT SPH,R16 LDI R16,1<<DDB0 OUT DDRB,R16 LDI R16,1<<PORTB1 OUT PORTB, R16 Start: IN R16,PINB SBRS R16,1 RCALL Change RJMP Start Change: LDI R17,0x3 EOR R16,R17 OUT PORTB,R16 RET 1. Подскажите, если не сложно, какие явные косяки в коде имеются (чувствую, что они там точно есть :rolleyes: ). 2. Не всегда срабатывает переключение светодиода, иногда происходит так: светодиод светится, я нажимаю кнопку где-то на секунду, светодиод в это время светится вполнакала, отпускаю кнопку и светодиод снова светится, хотя должен был погаснуть. Или светодиод не светится, я нажимаю кнопку, светодиод начинает светится вполнакала, отпускаю кнопку и светодиод снова не светится. А иногда все работает нормально (примерно 50 на 50). Из-за чего это может быть? -
Max 232, UART, com порт
Игорек ответил Игорек тема в В помощь начинающему
Собирал на макетке, забыл припаять эти конденсаторы на землю. Проблема решена, спасибо! -
Max 232, UART, com порт
Игорек ответил Игорек тема в В помощь начинающему
Хорошо, спасибо за помощь. -
Max 232, UART, com порт
Игорек ответил Игорек тема в В помощь начинающему
Да, с землей все отлично. Пробовал на двух разных компах - результат одинаков. Дело не в COM порте. Склоняюсь к неисправности макса. Питание контроллера и МАКСА от USB того же компа, к которому подключаюсь. Помех по питанию не видно. Выход макса без подключения к компьютеру также сопровождается импульсами.