|
|
  |
Микроконтроллеры для начинающих, AVR, PIC, FUJITSU |
|
|
|
Sep 25 2008, 01:57
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 20-09-08
Пользователь №: 40 344

|
Ладно, попробую реализовать приемник на другом примере. Но теперь у меня другой вопрос? РЕшил запаять кварц в 16 мегу на 11 мегагериков, выставил все биты конфигурации, опять же, как по книжке. 1011 СКSEL (еще пробовал 1111), и SUT 11. МК дурит по страшному, работает не так как надо, но всегда одинаково, причем если биты менять, его дурь также меняется. У меня такое уже было, и мне пришлось ставить кварц на 400 кГц. Заранее благодарю. На всякий случай, записываю я МК с генератором на 1 МГц.
|
|
|
|
|
Sep 25 2008, 03:19
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 20-09-08
Пользователь №: 40 344

|
Хотя все, разобрался, проблема в PONY PROG, оказалась.
Сообщение отредактировал _Ie0nid - Sep 25 2008, 03:21
|
|
|
|
|
Oct 14 2008, 04:47
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 12-10-08
Пользователь №: 40 892

|
прошивайте проги из CVAVR (он 2 Мб всего) и в нем же их разрабатывайте - проблем будет МАЛО совсем.
|
|
|
|
|
Nov 13 2008, 13:22
|
Группа: Участник
Сообщений: 12
Регистрация: 3-01-06
Пользователь №: 12 790

|
Написал программу для настройки портов AVR.
PORT_AVR.rar ( 44.01 килобайт )
Кол-во скачиваний: 219
|
|
|
|
|
Nov 15 2008, 06:56
|
Группа: Новичок
Сообщений: 11
Регистрация: 12-04-08
Пользователь №: 36 705

|
Все преподаватели с которыми я общался мне не советовали писать в CodeVisionAVR с его всевозможными "мастерами", т.к. за тебя всю настройку и инициализацию периферии делает программа, а если будет какая-либо ошибка в настройках, то её трудно будет обнаружить, потому как ты сам по сути нифига не знаешь (за тебя всю настройку производил мастер CVAVR). p.s. - сам пишу на ассемблере в AVRStudio и пока проблем не испытывал, главное внимательно даташит читать.
Сообщение отредактировал shuks - Nov 15 2008, 06:59
|
|
|
|
|
Dec 10 2008, 09:30
|
Группа: Участник
Сообщений: 12
Регистрация: 3-01-06
Пользователь №: 12 790

|
Программа для расчета времени таймеров на AVR. Для asm.
________________________AVR.rar ( 56.63 килобайт )
Кол-во скачиваний: 184
|
|
|
|
|
Jan 7 2009, 04:56
|
Группа: Новичок
Сообщений: 6
Регистрация: 29-12-08
Пользователь №: 42 844

|
Цитата(shuks @ Nov 15 2008, 09:56)  Все преподаватели с которыми я общался мне не советовали писать в CodeVisionAVR с его всевозможными "мастерами", т.к. за тебя всю настройку и инициализацию периферии делает программа, а если будет какая-либо ошибка в настройках, то её трудно будет обнаружить, потому как ты сам по сути нифига не знаешь (за тебя всю настройку производил мастер CVAVR). p.s. - сам пишу на ассемблере в AVRStudio и пока проблем не испытывал, главное внимательно даташит читать. CodeVision - хорошая тема. Богатый инструментарий. Может, я подотстал, но когда-то в нем обнаружилась неприятность. Компилятор при входе в прерывание не сохраняет статусный регистр. Если делать это самому программно, то CodeVision - хорошая тема. Без шуток.
Сообщение отредактировал drozd - Jan 7 2009, 04:59
|
|
|
|
|
Jan 7 2009, 06:52
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(drozd @ Jan 7 2009, 07:56)  CodeVision - хорошая тема. Богатый инструментарий. Может, я подотстал, но когда-то в нем обнаружилась неприятность. Компилятор при входе в прерывание не сохраняет статусный регистр. Если делать это самому программно, то CodeVision - хорошая тема. Без шуток. Инструментарий, может быть и богатый, но... 1. язык "похожий на С" 2. не ++ 3. не предсказуем в дальнейшем (см п.1) На этапе ознакомления, м. б. и имеет смысл с CV поработать, но не подсесть на него, ИМХО.
|
|
|
|
|
Feb 21 2009, 15:16
|
Группа: Участник
Сообщений: 12
Регистрация: 3-01-06
Пользователь №: 12 790

|
Программа для настройки АЦП AVR для Atiny15 Atmega8,16,32,64 для asm.
ACD.rar ( 58.71 килобайт )
Кол-во скачиваний: 187
|
|
|
|
|
Apr 25 2009, 14:21
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 8-04-07
Из: Магнитогорск, Россия
Пользователь №: 26 865

|
Если рассматривать вопрос какой МК универсальнее, то я думаю, что все таки ПИКи!!! Хотя они и проигрывают в скорости ( команда за два такта генератора), зато периферия по богаче будет и, что не маловажно, практически все доступны в корпусах DIP. Например ПИК24 имеет до нескольких компараторов: два, три, а то и четыре. Аналогичная ситуация с таймерами. А что у АТМЕЛ? У Атмел в основном по 1 компаратору во всех семействах исключение составляет МЕГА ( и то не все) где и то их 2 не более.
Ближайшим аналогом к ПИК24 видится ХМЕГА, но ХМЕГА не выпускается в корпусах DIP в отличии от ПИК24....вроде большинство применяют АТМЕЛ, но мне лично кажется,что даже если и ПИК24 не такой быстродействующий, зато аппаратные функции имеются - тот же аппаратный делитель! Если на АВР это делать программно, то в принципе их возможности уравняются.....
Конечно все определяется задачей...
И потом, АТМЕЛ не производит чипов подобных dsPIC!!! Это тоже имеет значение, если приложение разрабатываемое имеет хоть какие-то мало мальские вычисления. Например тот же контроль переполнения, в АВР это надо делать программно!
Сообщение отредактировал Иван_Я - Apr 25 2009, 14:25
|
|
|
|
|
Apr 29 2009, 21:30
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Иван_Я @ Apr 25 2009, 17:21)  Если рассматривать вопрос какой МК универсальнее, то я думаю, что все таки ПИКи!!! Хотя они и проигрывают в скорости ( команда за два такта генератора), зато периферия по богаче будет и, что не маловажно, практически все доступны в корпусах 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. А подытоживая - применяйте то, что вам удобно и то что вам нравится. И не надо это обосновывать, а то впросак попадёте.
|
|
|
|
|
Jun 25 2009, 13:35
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 18-01-08
Из: Moscow
Пользователь №: 34 201

|
Добрый день! Начал осваивать С и начал с CCS. проработал книгу шпака , вроде получается. Теперь стоит задача сделать модбас устройство. Надо опрашивать по мобдас слейв по 485 и принимать ответ с него. Подскажите выложены ли живые примеры похожие. Кристалл PIC16F876A уарт апарартный. Или может есть примеры приема передачи нескольких байт для начала.
В примерах нашел драйвера для 485 и модбаса. Вопрос: компилятор вырезает ли неиспользуемые фукнкции из откомплированнго файла?
|
|
|
|
|
Aug 14 2009, 02:35
|
Профессионал
    
Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942

|
Цитата(jeka7 @ Dec 10 2008, 13:30)  Программа для расчета времени таймеров на AVR. Для asm. Похвально, конечно, да не особо нужно. Компиляторы с этим прекрасно справляются. Код .equ Time = 100;ms .equ FClk = 10000000;Hz .equ Pre = 1024 .equ Timer = 0xFFFF - (Time * (FClk / Pre) / 1000) outiw TCNT1,Timer
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|