ATtiny13a не умножает числа
- Войдите на сайт для отправки комментариев
Я решил сделать "эмулятор электродвигателя" по быстрому на ATtiny13a-PU, сначало всё было норм, я как всегда программировал заливал скетчи, но потом внезапно avrdude начала ругаться на несовпадение прошивок.
Я пробовал менять макетную плату и джамперы, поставил конденсатор и ничего... залил блинк и работает! Потом я обнаружил, что эта ошибка возникает только при добавлении умножения, или деления в код.
void setup() {
pinMode(PB3, OUTPUT);
pinMode(PB4, INPUT);}
bool b=0;
int Delay;
void loop() {
while(1){
Delay=analogRead(PB4);
digitalWrite(PB3,b);
delayMicroseconds(Delay);
b=1-b;}}
Если попытаться умножить Delay на что-то больше 1-го, или поделить более чем на 1, то прилетает следующее.
Arduino: 1.8.5 (Windows 7), Плата:"ATtiny13 (ATtiny13a), 1.2 MHz"
Скетч использует 410 байт (40%) памяти устройства. Всего доступно 1024 байт.
Глобальные переменные используют 7 байт динамической памяти.
avrdude: verification error, first mismatch at byte 0x007e
0x9b != 0x9f
avrdude: verification error; content mismatch
avrdude: verification error; content mismatch
Может ли это значить износ Flash памяти, или ещё какую-то фигню? Ранее всё работало, даже вторая ATtiny13a шьётся!
Тини умножает, вот только записать не даёт.)
Это как? т.е. ограничение на запись переменных? или прошивку записать не даёт?
Просто не даёт.) Нужно играться с программатором.
Почему вторая ATtiny13a шьётся? я фьюзы не трогал если что и перестала шить прогу она внезапно. Просто перестала когда я менял значения переменных, но выше указанная прога точно шилась когда-то.
А без умножения? Коротенькую программу а в ней константный массив на всю память для проверки до куда шьётся.
Микроконтроллер в итоге умер (после нескольких записей начали отпадать кучи функций и он завис), другие 4 МК прошились и тем скетчем что выше и другими. Жуть, теперь я знаю как стареют МК >_<
Он у меня был какбы тетовым постоянно, я его прошил раз так 10-20 тысяч уже.