странность с мега8 на выводах pb6 pb7

Есть 2 меги 8 в дип корпусе. Решил проверить ее выводы, а то были подозрения на повреждение.
#include <built_in.h>
void main() {
  DDRC = 0xff;
  DDRD = 0xff;
  DDRB = 0xff;
 
  while(1)
  {
          PORTC = 0;
          PORTB = 0;
          PORTD = 0;
          delay_ms(500);
          PORTC = 0xff;
          PORTB = 0xff;
          PORTD = 0xff;
          delay_ms(500);
  }
}

Используется microC 6.1.1.
Настройки по умолчанию выставил. 0xe1 0xd9. Стоит в плате easy avr5.
На этих выводах как бы еще можно повесить кварц. В даташите сказано, что если работает от внутреннего генератора и бит AS2 выключен, а по дефолту он выключен, то эти 2 вывода можно использовать как ио. Однако светодиоды не мигают на этих выводах.

В гугле есть такой же вопрос, но там это связано с платой стк500, там эти выводы на другом разъеме.

В чем может быть гимор? Проверил 2 меги, но вторая не использовалась и у меня нет подозрений на дохлый пин.

SD-карта на AVR: на USI и без FS

Как видно из заглавия, будем обходиться без «железного» SPI — на тиньках его нет. Зато есть USI, его и заюзаем. Можно, конечно, и программный SPI написать, но там нужен таймер, а их вечно мало. Также хочу отметить, что вряд ли этот опус можно считать полноценной статьей по SD-картам — скорее, некоторые наброски на тему подводных камней (потому и находится в личном разделе). В общем, отмазки закончились, к делу!

Читать дальше

Мультимастер на USI

AVR
Это логическое продолжение предыдущей статьи «USI в двухпроводном режиме».
В этой статье пойдет рассказ о построении системы связи нескольких микроконтроллеров в составе одного устройства, на основе аппаратного модуля USI. Описаны «грабли» и «подводные камни» USI, а так же пути их обхода, на основе реального кода.
Все это реализовано и отлажено на двух микроконтроллерах ATtiny44A, один из которых работал на 8МГц, а другой на 1МГц. Размер кода 408 байт (204 слова).

Читать дальше
  • +2
  • 21 марта 2016, 12:30
  • iva

Про gcc и кодировки

Прочитав статью про создание самодельных шрифтов вспомнил про свои мучения. Правда, у меня проблема возникла в тот момент, когда я зашил созданный шрифт и попытался вывести с помощью AVR-ки русские строки, то есть, с кодировками utf-8/win-1251. Про них и пост.


Читать дальше

И снова о программаторах для AVR

ПРОЛОГ

На заре использования микроконтроллеров конечно же немаловажным было наличие программатора, а для новичка это было делом трудоемким. Прочитав кучу форумов, и не найдя какой-то универсальности случайно наткнулся в журнале Радио на замечательный в то время проект PonyProg в тандеме с хардварным JDM флешером подключаемым к com portу персонального компьютера. Сразу же повторил базовый модуль, модуль под микроконтроллеры фирмы Atmel AVR, микроконтроллеры фирмы Microchip PIC. А сколько радости было, когда я запрограммировал им первый PIC (хороший флешер для PIC — WinPic800)!



Читать дальше
  • +5
  • 02 февраля 2016, 11:09
  • Jman
  • 4

Размер страницы EEPROM у AVR семейства ATmega (E2PAGESIZE)

Как всем известно, EEPROM разных производителей имеют страничное стирание и перезапись страницы (даже если меняется один байт).
Конечно кроме самых мелких, там одна страница == один байт, но этот случай мы сейчас не рассматриваем.
Интересно выяснить какой же размер страницы внутреннего EEPROM у AVR семейства ATmega.

Запись байта по какому-то адресу автоматом запускает последовательность действий: копирование страницы EEPROM (той, где расположена записываемая ячейка) во временную RAM-страницу; модификацию записываемого байта в RAM-странице; очистку всей страницы EEPROM, и, наконец, запись RAM-страницы в EEPROM.
В современных атмелах даташит говорит нам о том что:
The EEPROM array is programmed one byte at a time by supplying the address and data together with the appropriate Write instruction. An EEPROM memory location is first automatically erased before new data is written.


Читать дальше
  • +3
  • 22 января 2016, 21:52
  • UR5SIX

Новость

AVR
Насколько я понял Микрочип купил Атмел.
Но производство АВР будет продолжено.
www.microchip.com/pagehandler/en-us/aboutus/acquisitions/atmel-acquisition.html

USI в двухпроводном режиме

AVR
Потребовалось мне сделать связь между микроконтроллерам, причем такую, что бы каждый мог начинать передачу по своему желанию и не мешать при этом высказываться другим, иначе это называется «режим мультимастер». Очень нужно НЕ использовать прерывания (они нужны для других функций).

Присмотревшись к коммуникационным возможностям, аппаратно реализованных в AVR, перепробовав их на зуб, остановился на USI. Вроде бы странный выбор, повсеместно его стараются обойти, ссылаясь на странности поведения, на сложности использования и прочие страшилки…
Согласен, есть такое дело, сам «нашишковал» достаточно, пока догадался разобраться со странностями непосредственно «в железе», благо цифровой осциллограф есть в наличии.

Как выяснилось, причиной «чуднОго поведения USI» является недостаточно полное описание его в документации. Нет, явных ошибок я там не нашел, просто читаю одно, понимаю другое, пишу код… и получаю: «ничего не работает» и «фигня полная».



Читать дальше
  • +5
  • 18 января 2016, 20:09
  • iva

Стечение обстоятельств

Некоторое время назад я попытался подключить к AVR-ке внешнюю память. Конкретно, соединить ATmega8515 и AS7C256. Увы, в процессе обнаружилось несколько неприятных моментов.


Читать дальше

Простой проигрыватель мелодий на Attiny13

Для новогодней поделки сделал простой проигрыватель-пищалку.




Читать дальше