snn_krs

Members
  • Публикации

    84
  • Зарегистрирован

  • Посещение

Репутация

14 Обычный

О snn_krs

  • Звание
    Осваивающийся

Информация

  • Город
    Краснодар

Электроника

  • Стаж в электронике
    Более 20 лет
  • Сфера радиоэлектроники
    микроконтроллеры
  • Оборудование
    Осциллограф, мультиметр
  1. Кнопки и АЦП

    Внутренние подтягивающие резисторы подключаются только если данный вход является цифровым. Если он цифровой выход или аналоговый вход, то подтяжка автоматически отключается. Это хорошо видно из схемы портов.
  2. HX711 + Тензо 50кг. + ATmega328

    Проверьте объявления типов переменных. Какая-то объявлена как 16 битная и значения обрезаются до +-32768. Возможно в компиляторе в printf не стоит вывод longInt ( CVAVR )
  3. STM32F1 проблемы с приемом по UART

    Что именно ему не нравится ? Надо посмотреть в файле *.s (startup_stm32f1xx.s) как обзываются обработчики прерываний. функцию void USART_IRQHandler(void) он возможно понимает как обычную функцию, а не обработчик прерывания
  4. STM32F1 проблемы с приемом по UART

    Не видно вызова этой функции в main void USART1_IRQHandler(void) Уже говорили что обработчик именно USART1
  5. STM32F1 проблемы с приемом по UART

    Попробуй перенести в конец, после инициализации NVIC. Сейчас при разрешении USART сразу происходит прерывание, а NVIC не инициализирован.
  6. 16-битный таймер на ATmega64A

    Проверьте ФЬЮЗ - M103C, он по умолчанию включен. Это режим совместимости с МЕГА103 у которой нет таймера 3.
  7. Прошивка для часов на газоразрядных индикаторов

    Зачем менять, все должно работать без доработки. Сначала залейте как есть, а если не заработает тогда надо разбираться.
  8. Проблема с LCD1602 - не стираются символы.

    С каждой библиотекой идут примеры. Откройте любой и проверьте работу. В примерах есть как подключать данную библиотеку. Разные I2C чипы имеют разные адреса, это надо учитывать при инициализации.
  9. часы реального времени PCF8563, использование TWI в codevision

    У меня CV 3.12, а библиотеки сильно старые от 2.05. Надо искать обновления
  10. часы реального времени PCF8563, использование TWI в codevision

    #ifdef _ATXMEGA_DEVICE_ #include <twix.h> #pragma used+ void pcf8563_twi_init(TWI_MASTER_INFO_t *ptwim); #pragma used- #else #include <twi.h> #endif В twi.h нет объявлений TWI_MASTER_INFO_t и других на которые ошибки
  11. часы реального времени PCF8563, использование TWI в codevision

    В библиотеке перед примером написано: Пример использования для atXmega
  12. Не надо проверять весь буфер после приема одного символа. void loop() { // +791763000000 if( Serial.available() > 0 ) { hh = Serial.read(); Buff[BuffIndex] = hh; BuffIndex++; Serial.print("BuffIndex = "); Serial.print(BuffIndex); Serial.print( "; Symbol = "); Serial.println(hh); if( BuffIndex > 250 ) { BuffIndex = 0; } } if ( BuffIndex > 12 ) { for(i=0;i<=13;i++) { if(Buff[i]==src[i]) { j++; f2=10; } } if((j>=13) && (f2==10)) { Serial.println(j); j=0; f2=0; } BuffIndex = 0; } } Для наглядности вставил вывод каждого принятого символа. Можно проверку на совпадения делать при приеме каждого символа.
  13. Если правильно понял вопрос, то можно сделать так if (( PORTC & 0x03 ) == 0x01 ) { PORTB.0 = 1;} Синтаксис зависит от используемого компилятора.
  14. attiny26

    Могу немного огорчить. В тиньках нет команд записи во флэш. Записываются только внешним программатором.
  15. max7219 матрица и avr , перевернуть символы

    Я дорабатывал для Ардуино, и писал для STM32F100. void LedControl::spiTransfer(int addr, volatile byte opcode, volatile byte data) { //Create an array with the data to shift out int offset=addr*2; int maxbytes=maxDevices*2; for(int i=0;i<maxbytes;i++) spidata[i]=(byte)0; //put our device data into the array spidata[offset+1]=opcode; spidata[offset]=data; //enable the line digitalWrite(LEDCONTROL_SPI_CS,LOW); //Now shift out the data for(int i=maxbytes;i>0;i--) shiftOut(LEDCONTROL_SPI_MOSI,LEDCONTROL_SPI_CLK,MSBFIRST,spidata[i-1]); //latch the data onto the display digitalWrite(LEDCONTROL_SPI_CS,HIGH); } Это код для Ардуино. maxDevices это число МАХ7219 shiftOut(LEDCONTROL_SPI_MOSI,LEDCONTROL_SPI_CLK,MSBFIRST,spidata[i-1]); // передача 8-ми байт