Перейти к содержанию
    

Микроконтроллеры для начинающих

Ладно, попробую реализовать приемник на другом примере.

Но теперь у меня другой вопрос? :lol:

РЕшил запаять кварц в 16 мегу на 11 мегагериков, выставил все биты конфигурации, опять же, как по книжке. 1011 СКSEL (еще пробовал 1111), и SUT 11. МК дурит по страшному, работает не так как надо, но всегда одинаково, причем если биты менять, его дурь также меняется. У меня такое уже было, и мне пришлось ставить кварц на 400 кГц. Заранее благодарю.

На всякий случай, записываю я МК с генератором на 1 МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотя все, разобрался, проблема в PONY PROG, оказалась.

Изменено пользователем _Ie0nid

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

прошивайте проги из CVAVR (он 2 Мб всего) и в нем же их разрабатывайте - проблем будет МАЛО совсем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все преподаватели с которыми я общался мне не советовали писать в CodeVisionAVR с его всевозможными "мастерами", т.к. за тебя всю настройку и инициализацию периферии делает программа, а если будет какая-либо ошибка в настройках, то её трудно будет обнаружить, потому как ты сам по сути нифига не знаешь (за тебя всю настройку производил мастер CVAVR).

p.s. - сам пишу на ассемблере в AVRStudio и пока проблем не испытывал, главное внимательно даташит читать.

Изменено пользователем shuks

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все преподаватели с которыми я общался мне не советовали писать в CodeVisionAVR с его всевозможными "мастерами", т.к. за тебя всю настройку и инициализацию периферии делает программа, а если будет какая-либо ошибка в настройках, то её трудно будет обнаружить, потому как ты сам по сути нифига не знаешь (за тебя всю настройку производил мастер CVAVR).

p.s. - сам пишу на ассемблере в AVRStudio и пока проблем не испытывал, главное внимательно даташит читать.

CodeVision - хорошая тема. Богатый инструментарий. Может, я подотстал, но когда-то в нем обнаружилась неприятность. Компилятор при входе в прерывание не сохраняет статусный регистр. Если делать это самому программно, то CodeVision - хорошая тема. Без шуток.

Изменено пользователем drozd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CodeVision - хорошая тема. Богатый инструментарий. Может, я подотстал, но когда-то в нем обнаружилась неприятность. Компилятор при входе в прерывание не сохраняет статусный регистр. Если делать это самому программно, то CodeVision - хорошая тема. Без шуток.

Инструментарий, может быть и богатый, но...

1. язык "похожий на С"

2. не ++

3. не предсказуем в дальнейшем (см п.1)

 

На этапе ознакомления, м. б. и имеет смысл с CV поработать, но не подсесть на него, ИМХО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если рассматривать вопрос какой МК универсальнее, то я думаю, что все таки ПИКи!!! Хотя они и проигрывают в скорости ( команда за два такта генератора), зато периферия по богаче будет и, что не маловажно, практически все доступны в корпусах DIP. Например ПИК24 имеет до нескольких компараторов: два, три, а то и четыре. Аналогичная ситуация с таймерами. А что у АТМЕЛ? У Атмел в основном по 1 компаратору во всех семействах исключение составляет МЕГА ( и то не все) где и то их 2 не более.

 

Ближайшим аналогом к ПИК24 видится ХМЕГА, но ХМЕГА не выпускается в корпусах DIP в отличии от ПИК24....вроде большинство применяют АТМЕЛ, но мне лично кажется,что даже если и ПИК24 не такой быстродействующий, зато аппаратные функции имеются - тот же аппаратный делитель! Если на АВР это делать программно, то в принципе их возможности уравняются.....

 

Конечно все определяется задачей...

 

И потом, АТМЕЛ не производит чипов подобных dsPIC!!! Это тоже имеет значение, если приложение разрабатываемое имеет хоть какие-то мало мальские вычисления. Например тот же контроль переполнения, в АВР это надо делать программно!

Изменено пользователем Иван_Я

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если рассматривать вопрос какой МК универсальнее, то я думаю, что все таки ПИКи!!! Хотя они и проигрывают в скорости ( команда за два такта генератора), зато периферия по богаче будет и, что не маловажно, практически все доступны в корпусах DIP.

Практически, с точностью "до наоборот".

1. Atmel в своём семействе AVR пошли по пути универсальности. То есть малая номенклатура кристаллов с богатой переферией. Microchip - богатая номенклатура кристаллов с разной переферией.

2. Не следил за последними кристаллами PIC, но у первых 16 было 4 такта на команду. По-моему сейчас применяется умножитель тактовой, что обеспечивает производительность по тактам сопоставимую с ядром AVR. Грубо говоря это кристаллы одного уровня. И находятся в одной нише.

3. Некоторый проигрыш в скорости на определённых задачах (как правило математике) возникает из-за значительно более слабой системы комманд. При этом есть задачи, на которых проявляется выигрыш Пиков.

4. Вообще говорить об универсальности МК практически бессмысленно. Они все достаточно универсальны. Сопоставимое изделие можно реализовать как та том, так и на этом. В то же время они неуниверсальны по своему назначению. Это не центральный процессор. Каждый обладает своей переферией и корпусом.

5. Корпус DIP скоро уйдёт в прошлое как таковой. Даже для радиолюбительства. Даже в поделках в единичном изделии лазерно-утюжным методом легко ложатся микрухи типа ATMEGA8. Хотя есть и дипы, но я применяю PLCC. Кроме того, совершенно непонятно чего вам не хватает у AVR по корпусам? В дипе есть кристаллы DIP8 (ATTiny25), DIP14 (ATTiny24), DIP20 (ATTiny2313), DIP28 (ATMega8), DIP40 (ATMega16). Я по одному кристаллу приводил для примера, на самом деле их море. Так какого дип кристалла вам не хватает???

 

Например ПИК24 имеет до нескольких компараторов: два, три, а то и четыре. Аналогичная ситуация с таймерами. А что у АТМЕЛ? У Атмел в основном по 1 компаратору во всех семействах исключение составляет МЕГА ( и то не все) где и то их 2 не более.

За всю мою практику я единожды применил компаратор. Было это правда на семействе x51 ещё до AVR. :)

С моей точки зрения абсолютно бесполезная переферия. Во-первых всё равно в пределах AVCC работает, что ограничивает а во вторых 2 ноги занимает. На AVR можете юзать ADC от 8 входов и порог регулировать цифровым способом и предварительную обработку делать.

 

Ближайшим аналогом к ПИК24 видится ХМЕГА, но ХМЕГА не выпускается в корпусах DIP в отличии от ПИК24....вроде большинство применяют АТМЕЛ, но мне лично кажется,что даже если и ПИК24 не такой быстродействующий, зато аппаратные функции имеются - тот же аппаратный делитель! Если на АВР это делать программно, то в принципе их возможности уравняются.....

 

Конечно все определяется задачей...

Ну к примеру у ATMega640 при очень удобном корпусе TQFP100 = 86 свободных портов, 16 каналов АЦП, 4 16-битных таймера, 2 8-ми битных, 16 каналов PWM, 2 SPI, I2C, 4 USART.

Мега8 - малый корпус (PDIP28, tqfp32) 23 порта, 6/8 АЦП, 1 16таймер, 2 8таймер, 3PWM, 1SPI, 1UART. Цена меньше 1$

xMega16a4(слабенький) 34 порта, 5 16таймер, 16PWM, 2SPI, 2I2C, 5UART, 12 12-ти битных АЦП, 2 12-ти битных ЦАП, 4DMA + куча разной хрени типа частота тактирования таймеров превышает тактовую что даёт высокоскоростной PWM и прочее.

 

Назовите сопоставимые кристаллы у микрочип.

 

И потом, АТМЕЛ не производит чипов подобных dsPIC!!! Это тоже имеет значение, если приложение разрабатываемое имеет хоть какие-то мало мальские вычисления. Например тот же контроль переполнения, в АВР это надо делать программно!

Atmel производит и производила кучу кристалов, подобных которым microchip никогда не производила. Например кристаллы семейств ARM7, ARM9, ARM920T. Плюс кучу спец микрух типа радиоканала и т.п., но какое это имеет отношение к обсуждаемым вопросам? dsPIC с пиками роднит только имя. Кристалл хороший. Но совершенно из другой оперы. В этой нише у него целая куча конкурентов среди других фирм кроме Atmel.

 

А подытоживая - применяйте то, что вам удобно и то что вам нравится. И не надо это обосновывать, а то впросак попадёте. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно все определяется задачей...

Маркетинговые изЫски шутят над нами злую шутку, потому что все продумано так, что на 100% ни один камень на задачу не идет. Везде будут компромиссы, иногда весьма некрасивые. Либо избыточное решение (лично мне тоже не нравится, хоть это и несовременная точка зрения). Это я к тому, что сравнивать PIC vs AVR итд уж поднадоело до зеленого п.ца.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:bb-offtopic:

Маркетинговые изЫски шутят над нами злую шутку, потому что все продумано так, что на 100% ни один камень на задачу не идет.

:biggrin:

Кстати я бы отнёс эту формулировку не только к кристаллам, а .... ко всему спектру товаров продаваемому на прилавках. Раньше был один хлеб - "хлеб обычный". :) Теперь 15 модификаций, в каждом 15 наполнителей, ни одного с нормальным вкусом. :) "Хлеб с зелёным чаем".... это зачем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Начал осваивать С и начал с CCS. проработал книгу шпака , вроде получается. Теперь стоит задача сделать модбас устройство. Надо опрашивать по мобдас слейв по 485 и принимать ответ с него. Подскажите выложены ли живые примеры похожие. Кристалл PIC16F876A уарт апарартный. Или может есть примеры приема передачи нескольких байт для начала.

 

В примерах нашел драйвера для 485 и модбаса. Вопрос: компилятор вырезает ли неиспользуемые фукнкции из откомплированнго файла?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Программа для расчета времени таймеров на AVR. Для asm.

Похвально, конечно, да не особо нужно. Компиляторы с этим прекрасно справляются.

.equ    Time  = 100;ms
.equ    FClk  = 10000000;Hz
.equ    Pre   = 1024
.equ    Timer = 0xFFFF - (Time * (FClk / Pre) / 1000)
    outiw TCNT1,Timer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...