странность с мега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 меги, но вторая не использовалась и у меня нет подозрений на дохлый пин.

Комментарии (26)

RSS свернуть / развернуть
А таймер точно заглушен? ХЗ что там mikroC по умолчанию инициализирует.
0
заглушен, отладчик показывает нули в регистре и этот бит тоже 0
255 показывает в регистрах портов, так что хер его знает
-1
Если в порт Б вывести FF — то через такт этот FF должен прочитаться из порта PINB.
Что оттуда читается?

С фьюзами все в порядке? генерация от внутреннего RC?
0
0 там и генератор внутренний, я кварц вытаскивал и все работает
-1
сейчас паял небольшой проектик на восьмой меге, правда в TQFP корпусе. На полупустой плате повторил эксперимент. Ничего не инициализировал отдельно, настроил DDR и погнал менять в портах 00 и FF.
Везде выводится 0-1, включая PB6-PB7.
Компилил АтмелСтудией №7

Попробуй явно проинициализировать ASSR.

Ну или глянь сам код дизассемблером — чего микроС туда насувал…
0
хотя вопрос про фьюзы лишний — иначе б мега не работала без внешнего тактового.
Принудительно прописать 0х00 в ASSR если?
0
Попробуй при инициализации контроллера в ручную задать правильное положение контрольных битов. Поскольку действительно не понятно что там может быть после инициализации в компиляторе.

Если мне надо чтобы конкретная периферия использовалась или я был точно уверен что она не отключена, то я специально её настраиваю при запуске. Не надеясь на настройки «по умолчанию».
0
а попробуй мой
rgho.st/8m5hdvXyt
я делал уже все и в симулятора в регистрах портов все нормально

скомпилил еще один пример с кнопками и пищалкой, так глюк какой-то
создалось впечатление, что компилятор кривой что ли

в атмел студии есть годный набор библиотек для работы с железом и хелп по ним? мне нравится как сделали в моем компиляторе и его размер небольшой совсем
0
создалось впечатление, что компилятор кривой что ли
Две-три версии назад точно кривой был. Но 5.60 уже более-менее рабочая была.

И не назвал бы я библиотеки микроэлектроники годными. У ардуины получше сделаны.
0
а чем лучше? слишком много ресурсов уходит
0
Убогие они какие-то у mE, каждый раз было проще свой аналог написать, получалось и удобнее, и компактнее. И судя по описаниям — все они сделаны в максимально примитивном блокирующем стиле. А в некоторые ардуиновские я заглядывал и мне понравилось, как оно сделано — и по интерфейсу, и по реализации.
0
Ну а чего от них еще ожидать? У них же «учебно-тренировочное» направление основное. И к этому всему «железному богатству», как приложение, идет набор сред-компиляторов. Причем явно переоцененных, если смотреть на цену/качество.
0
чего юзать тогда с готовыми библиотеками? изобретать велики в 2016 просто лень и тупо
до сих пор срачи идут про библиотеки стм32 и уже производитель новый вид выкатил и опять кому-то не нравятся
я куб поставил, посмотрел и пока закрыл
0
Если ТТХ библиотек mikroE устраивают – пользоваться.
0
SPL/HAL несколько другого класса библиотеки. Ниже по уровню абстракции (HD44780 все равно придется велосипедить поверх них), но более гибкие.
Из похожего на mE по библиотекам я назову разве что ардуино. И вроде что-то такое есть в CVAVR, но не юзал, так что могу ошибаться.
0
в еденичном проекте нет особой разницы даже в 50р цены камня.
С другой стороны я сейчас работаю над возрождением старого сдохшего проекта. так оригинал наполовину на ардуине был. правда вторая половина уже нормально была сделана. Так что и мелкосерийные изделия бывают на ардуине.
0
Качаем схему на EasyAVR5A, и убеждаемся что пины pb6 pb7 (для сокета DIP28) не подключены к светодиодам, поэтому последние никак не могут зажигатся, при работе с МК в этом корпусе.
+3
)))
0
я конечно смотрел, но мне и в голову не пришло, что у сокетов могут быть подключены не все пины
да и я уже спать хотел тогда и видать плохо смотрел
точнее я больше смотрел мануал, а там все разрисовано под мегу16

а вот схему на одном листе я видать херова смотрел и даже думал не в ту сторону
вот такой вот косяк бывает

это как с отверткой — только что вроде держал ее и найти не можеш, а она под жопой лежит
0
ну вот опять глюк какой-то нашел в библиотеке ихней
#include "notes.h"
//#define  __FOSC__ = 8000000UL
void melody(void){
     //code char tones[5] = {note_C6, note_E6, note_G6, note_C7, note_C6};
      char tones[1] = {note_C6};
     char j,i;
     for (j=0; j<2; j++){
         for (i=0; i<1; i++){
             Sound_Play(tones[i],200);
         }
         Delay_ms(50);
     }
}
void main() {

  DDRB = 0x00;
  Sound_Init(&PORTC,3);
 
  while (1) {
  
    if (!PINB1_bit)   melody();
    if (!PINB2_bit)   Sound_Play(note_C6,200);

   }
}

мелодия играется на более низкой частоте, чем просто та же нота на второй кнопке

оно бывает правильно компилится, а бывает со сбоем
вот тебе и компилятор за 250 баксов

кому не лень — проверьте что ли
rgho.st/8pD5Pbclw

уму непостижимо — 2016 год, кода понаписано столько, что девать некуда
и все равно оно работает через жопу

скачал атмел студию 7 на 850мб, занимает 950мб и это без поддержки меги32 и арм
поставил асф, а там нет простых библиотек типа генерации звука там, спи, и2ц и чтобы галочку поставил и она подцепилась и чтобы удобный хелп был

ит катится с сраное гавно
0
а там нет простых библиотек типа генерации звука там, спи, и2ц и чтобы галочку поставил и она подцепилась
Потому что с AS7 работают профи, которым привычней так, как оно сделано во всех других сях. Без галочек. И предполагается, что профи и так знает, как настроить таймер, чтобы он нужную ноту выдал.
А для новичков есть ардуино.
0
я нашел глюк
и этот глюк — я

давно не быдлокодил и просрал все полимеры
глюк в том, что мой перфекционанист постоянно говорит мне об оптимизации и я до того дооптимизировался, что в хедере у меня на нотах частоты и там цифры выше 255, а массив у меня не инт, а чар

пока писал пост на форуме производителя, то решил в 8 утра еще раз заняться отладкой и вот узрел

б-же насколько же я тупой и слепой мудак…
+1
У них в 6.0/6.0.1 был глюк с неявным приведением типов – вот это как-то раз попило крови.
0
Кало, уже 2-й косяк в одной теме — тебе надо срочно отдохнуть, You worked a lot hard!
0
а я не напрягаюсь
только что спал и пока нет желания быдлокодить, наверное только завтра появится
0
Нет просто торопился и устал. так часто бывает когда много работаешь с одним и тем же. потом надо выходной и тогда процесс идёт лучше.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.