SergeyKa

Members
  • Content count

    115
  • Joined

  • Last visited

Community Reputation

-1 Плохой

About SergeyKa

  • Rank
    Осваивающийся

Информация

  • Город
    Ульяновск

Электроника

  • Стаж в электронике
    Менее года
  • Сфера радиоэлектроники
    микроконтроллеры
  1. Глючит Atmega8

    Ножка RESET болтается в воздухе. Сейчас микроконтроллер как-будто умер окончательно. Странно себя ведёт. Когда я втыкаю шлейф программатора (раньше было норм) сейчас на кварце нет частоты вообще. Т.е. вернее как я только воткнул его и подал питание есть. Я нажимаю в PonyProg -> ReadAll он читает, но дальше частота исчезает и в него не возможно ни записать ничего, ни прочитать, ни сбросить память ERASE. Фьюзы удалось прочитать. Но записать другие не выходит. Фьюзы читаются способом выдернул МК из слота программатора вставил -> прочитал. Записать так не удаётся. Фьюзы настроены на 16MHz, стоит кварц 16MHz. вроде новый неужели из-за него всё?
  2. Глючит Atmega8

    ну ок, я попробую, только не думаю что это решит проблему, потому что зависание идет где-то на 80% ШИМ, и число циклов ограничивается циклом FOR
  3. Глючит Atmega8

    а в чем разница что я напишу так number = 200; OCR1A = number; и в том что я напишу OCR1A = 200;
  4. Глючит Atmega8

    нужно OCR1AL?
  5. Глючит Atmega8

    Не могу понять в чем проблема. Микроконтроллер как-будто замирает и ведёт себя неадекватно. Кварц запитывается от двух конденсаторов 22pF. Сначала у меня было общее питание, которое питало светодиоды. Я подумал, что помехи проходят из-за него. Пришлось сделать два блок питания, однако и это не помогло, вместо того, чтобы плавно изменять цвет, микроконтроллер подвисает и некоторые цвета включаются резко и самопроизвольно. Менял другой микроконтроллер не помогло. С кварца идет стабильный синус на 16МГц. #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> int main(void) { DDRB = 0x0e; PORTB |= (1 << PB4); TCCR1A=(1<<COM1A1)|(1<<COM1B1)|(1<<WGM10); TCCR1B=(1<<CS10); TCCR2=(1<<CS20)|(1<<COM21)|(1<<WGM20); OCR1A=0x00; OCR1B=0x00; OCR2=0xff; while(1){ for (unsigned char i = 0; i<255; i++) {OCR2--; OCR1A++; _delay_ms(100);} for (unsigned char i = 0; i<255; i++) {OCR1A--; OCR1B++; _delay_ms(100);} for (unsigned char i = 0; i<255; i++) {OCR1B--; OCR2++; _delay_ms(100);} } }
  6. Arduino Uno работа USART

    ATmega Uno - надо полагать там Atmega328
  7. Arduino Uno работа USART

    нет, не "жуёт" он отдельные команды. Ругается на "UCSRA"
  8. Arduino Uno работа USART

    а могу ли я написав код из библиотеки например Serial.begin(9600); обратиться к USARTу не кодом из библиотеки т.е. написать типа такого if (UCSRA & (1<<FE)){ break; }
  9. Наверное хорошо, что в Ардуино можно подключить одним словом Serial однако я столкнулся с проблемой, которую не знаю как решить. А именно в USART Атмеги8 есть флаг FE (ошибка кадрирования) т.е. если отсутствуют Стоп бит. у меня может передаваться как 1 бит так и 10, если ли FE в Arduino и если есть, то как грамотно написать условие if(ошибка кадрирования) { break; }
  10. Добрый день. Есть побитовая проверка портов микроконтроллера. if( PIND & (1 << PD0) ) { ... } Т.е. если на PIND на 1 бите, логическая 1 то, условие выполняется. А как сделать такую же побитовую проверку для переменной? unsigned int test = 171; if( test & (1 << 0) ) { ... } верно ли я мыслю? Или как-то по другому?
  11. О_о... тогда не понятно у него всего-лишь PB0, PB1, PB2, PB3 где ещё четыре бита ввода и вывода?
  12. он 4 bit-ный я так понял)) Спасибки хороший вариант, очень даже хороший.
  13. Вопрос к знатокам. Нужно микроконтроллер семейства AVR (Atmega, ATtiny и т.п.) 1) Должна питаться от 3...3.3 Вольта. 2) Иметь только один порт Ввода и вывода 3) Внутренний источник тактирования RC, 4) Корпус SMD. Такие существуют в природе? Задача встроить в браслет и нужны в основном меньшие размеры и питание в диапазоне от 3 до 3.3 вольт.
  14. Ладно спрошу ещё раз второго апреля - раз считают что это какая-то шутка. Нашёл видео - которое в точности описывает задачу.
  15. Второй закон ньютона не даст точность перемещения, потому-что взмахи руки будут расцениваться как шаг вперёд. И как микроконтроллер по данным акселерометра поймет в каком месте комнаты этот человек находится.