|
|
  |
Микроконтроллеры для начинающих, AVR, PIC, FUJITSU |
|
|
|
Mar 31 2014, 12:00
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 19-10-13
Пользователь №: 78 801

|
Спасибо большое за советы. У avrdude обнаружил волшебный ключик, -B5 и скорость стала якобы 187500 Hz.
И с miso/mosi я конечно ошибся. Переключил на PDI/PDO сообщение другое получаю. При этом, если "перепутать" провода, то старое сообщение:
error: programm enable: target doesn't answer
А теперь у девайса id неправильный:
avrdude: Device signature = 0xffffff avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.
%(
Сообщение отредактировал пай-мальчик - Mar 31 2014, 12:01
|
|
|
|
|
Apr 2 2014, 06:35
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(пай-мальчик @ Mar 31 2014, 16:00)  А теперь у девайса id неправильный: а что у вас с питанием на плате, есть чем померять? 5в присутствуют? не знаю, что за LDO стоит для 12->5, но для такого типа корпуса обычно делают соединение фланцевого контакта и центрального - уточнить можно, найдя даташит на чип стабилизатора и посмотреть там типовую схему включения.. для проверки можно отпаять LDO и запитать от внешнего источника на 5В
|
|
|
|
|
Nov 17 2014, 17:54
|
Группа: Новичок
Сообщений: 5
Регистрация: 3-06-12
Пользователь №: 72 149

|
Добрый день.
Разрабатываю плату для преобразования показаний с датчика давления и последующей передачи по UART. Выбрал следующую схему АЦП-attiny-UART. Скажите, пожалуйста, можно, допустим, снимать через SPI данные с АЦП в обычном режиме, а в режиме прошивки через те же ножки прошивать что-нибудь вроде attiny441? Или лучше взять attiny с двумя SPI (например, 167)?
Заранее спасибо
Ещё интересует следующий вопрос: сколько примерно максимально может потреблять attiny?
Сообщение отредактировал dan_p - Nov 17 2014, 17:14
|
|
|
|
|
Nov 17 2014, 22:01
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(dan_p @ Nov 17 2014, 20:54)  Скажите, пожалуйста, можно, допустим, снимать через SPI данные с АЦП в обычном режиме, а в режиме прошивки через те же ножки прошивать что-нибудь вроде attiny441? Или лучше взять attiny с двумя SPI (например, 167)? Одного SPI достаточно. К разъему программатора ведете линии MISO и MOSI напрямую, а их же с АЦП соединяете через резисторы 1 Ком (на SCK резистор ставить не надо). Тогда АЦП не помешает прошивать МК, и сам от этой процедуры не пострадает. А ко времени работы с АЦП програматор будет уже отключен и тоже не помешает его работе. Цитата(dan_p @ Nov 17 2014, 20:54)  Ещё интересует следующий вопрос: сколько примерно максимально может потреблять attiny? Даташит надо смотреть, там есть график тока от напряжения питания (сильно зависит!). А кто же кроме вас, может знать, каким напряжением вы собираетесь питать Тиньку?
|
|
|
|
|
Nov 28 2014, 10:06
|

Группа: Новичок
Сообщений: 2
Регистрация: 28-11-14
Пользователь №: 83 884

|
Цитата(nameless @ Apr 6 2005, 15:06)  Не советую AVR для начинающих. Уж куда приятнее PIC. В преподавательской практике использовал оба - PIC схватывают на лету !!! Есть подозрение - что из-за системы команд. Согласен. AVR вышел после PIC. Некоторые просчеты архетектуры ранних PIC там устранили. В PIC, начиная с PIC18 то-же никаких трудностей с регистрами нет, но в целом PIC более привлекательны и понятны.
--------------------
www.chipstar.ru
|
|
|
|
|
Nov 28 2014, 10:28
|

Местный
  
Группа: Свой
Сообщений: 449
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002

|
Цитата(chipstar.ru @ Nov 28 2014, 13:06)  Согласен. AVR вышел после PIC. Некоторые просчеты архетектуры ранних PIC там устранили. В PIC, начиная с PIC18 то-же никаких трудностей с регистрами нет, но в целом PIC более привлекательны и понятны. Дружище, проснитесь! Уж десять лет прошло. Расклад поменялся. И даже тогда ПИКи рассматривались отдельно как недо-МК (по причине кривости системы команд и регистров, ограниченности ресурсов, невозможности программирования на Си). А АВРы сразу позиционировались как замена i51 (легендарный 8515). Ну и до кучи мелкий 1200-й "заткнуть ПИКи". Ну и не забываем, что Атмел "взял" всех своей флешовой версией i51. А 89С55й с 64К флеша!? А про 18-е ПИКи не надо. Может и хороши они, да поздновато появились.
--------------------
Умею молчать на 37 языках...
|
|
|
|
|
Jan 9 2015, 08:21
|
Группа: Участник
Сообщений: 10
Регистрация: 25-11-09
Пользователь №: 53 867

|
Цитата(Gorby @ Nov 28 2014, 14:28)  Дружище, проснитесь! Уж десять лет прошло. Расклад поменялся. И даже тогда ПИКи рассматривались отдельно как недо-МК (по причине кривости системы команд и регистров, ограниченности ресурсов, невозможности программирования на Си). А АВРы сразу позиционировались как замена i51 (легендарный 8515). Ну и до кучи мелкий 1200-й "заткнуть ПИКи". Ну и не забываем, что Атмел "взял" всех своей флешовой версией i51. А 89С55й с 64К флеша!? А про 18-е ПИКи не надо. Может и хороши они, да поздновато появились. Учить 8-битники сейчас нет смысла. Их время уходит. Хотя я сам их часто ипользую ввиду простоты и удобства для небольших задач. Нужно начинать сразу с Cortex M0, самого простого 32бит контроллера. Таким образом сразу привыкать к мейнстриму.
|
|
|
|
|
Sep 21 2015, 10:53
|
Группа: Участник
Сообщений: 12
Регистрация: 20-11-12
Из: Санкт Петербург
Пользователь №: 74 485

|
Подскажите где можно посмотреть соответствие настроек #pragma config? Проблемма такая Нужно настроить PIC18f97j94 на работус проэктом USB Keyboard (из примера микрочипа) от кварца 12МГц. Для этого надо поставить предделитель на 3, но в настройках прописано CODE #pragma config STVREN = ON // Stack overflow reset #pragma config XINST = OFF // Extended instruction set #pragma config BOREN = ON // BOR Enabled #pragma config BORV = 0 // BOR Set to "2.0V" nominal setting #pragma config CP0 = OFF // Code protect disabled #pragma config FOSC = FRCPLL // Firmware should also enable active clock tuning for this setting #pragma config SOSCSEL = LOW // SOSC circuit configured for crystal driver mode #pragma config CLKOEN = OFF // Disable clock output on RA6 #pragma config IESO = OFF // Internal External (clock) Switchover #pragma config PLLDIV = NODIV // 4 MHz input (from 8MHz FRC / 2) provided to PLL circuit #pragma config POSCMD = NONE // Primary osc disabled, using FRC #pragma config FSCM = CSECMD // Clock switching enabled, fail safe clock monitor disabled #pragma config WPDIS = WPDIS // Program memory not write protected #pragma config WPCFG = WPCFGDIS // Config word page of program memory not write protected #pragma config IOL1WAY = OFF // IOLOCK can be set/cleared as needed with unlock sequence #pragma config LS48MHZ = SYSX2 // Low Speed USB clock divider #pragma config WDTCLK = LPRC // WDT always uses INTOSC/LPRC oscillator #pragma config WDTEN = OFF // WDT disabled; SWDTEN can control WDT #pragma config WINDIS = WDTSTD // Normal non-window mode WDT. #pragma config VBTBOR = OFF
строчка #pragma config PLLDIV = NODIV не совсем понятна, где найти соответствие NODIV, где искать остальные возможные варианты? Пробовал поставить делитель цифрами, выдает ошибку ([1225] configuration value '3' not recognized for configuration setting 'PLLDIV'), поставил DIV3, ошибку не выдал, но то что это соответствует делителю 3 нет уверенности. Тоже самое и с настройкой FOSC = FRCPLL (для работы от 12МГц надо перенастроить)
|
|
|
|
|
Sep 22 2015, 12:07
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(Tonotuh @ Sep 21 2015, 13:53)  Подскажите где можно посмотреть соответствие настроек #pragma config? В хелпе к оболочке. B MPLAB IDE 8.** это лежит (менюшки в оболочке): Help->Topics->PIC18 Config settings->PIC18F9xxx -> PIC18F97J94 В пристегнутом файле оно.
PIC18F97J94_config.pdf ( 96.25 килобайт )
Кол-во скачиваний: 706
|
|
|
|
|
Sep 23 2015, 09:31
|
Группа: Участник
Сообщений: 12
Регистрация: 20-11-12
Из: Санкт Петербург
Пользователь №: 74 485

|
Спасибо. Сегодня нашел этот хелп, после переустановки новой версии пакета.
|
|
|
|
|
Jan 29 2016, 03:30
|
Группа: Участник
Сообщений: 14
Регистрация: 29-01-16
Пользователь №: 90 250

|
Здравствуйте. Начинаю изучать программирование AVR, есть много глупых вопросов, и лучшей темы чтобы их задать я не нашёл. Так вот, сначала некоторое описание ситуации, потом вопросы:
Работать буду с Atmega644. Писать собираюсь на С, специально для этих целей начал его учить, а язык ассемблера при этом не знаю. Есть в железе собранный прибор(назовём его прибор А), построенный на этих МК, надо сделать на него программу, - это есть цель. Есть другой прибор, который производится и продаётся (назовём его прибор Б), построенный на этом же МК, и есть к нему программа, написанная в CodeVisionAVR.
Читаю даташит на Atmega644, дошёл до 24-й страницы, где есть примеры кода записи и чтения EEPROM. В общих чертах эти механизмы работы с EEPROM понятны. Там показаны операции с регистрами МК, как на языке ассемблера, так и на С.
Так вот, после этого смотрю в программу на прибор Б, на подпрограммы чтения и записи EEPROM, и не вижу там ни одного названия регистра. Чтение с EEPROM там строится присвоением значений EEPROM-переменных к обычным, - просто копируются в оперативную память, как я понимаю. Точно так же строится запись, только наоборот, присвоением значений изменённых переменных EEPROM-переменным, и на этом всё, никаких регистров не упоминается. И вообще в программе в принципе нет упоминаний регистров МК, везде только переменные. В связи с чем я не понимаю за счёт чего осуществляются операции работы с EEPROM. Соответственно, все остальные примеры кода из даташита будут вызывать такой же вопрос.
Вопрос №1: Чтение/запись памяти и другие операции, требующие непосредственной работы с регистрами МК осуществляются в каких-то подключаемых библиотеках?
В этой программе (на прибор Б) подключены следующие библиотеки: <mega644.h> <delay.h> <stdlib.h> <lcd.h>
На первую библиотеку из списка описания не нашёл (ткните носом, если где-то есть), а в других вышеназванных библиотеках функций работы с EEPROM не увидел.
Вопрос №2: Что за тип данных такой bit в CodeVisionAVR? В языке С ведь нет типа boolean...
Вопрос №3: Посоветуйте среду разработки. Сомневаюсь между древней CodeVisionAVR 1.25.8 и Atmel Studio 6.1.
Сообщение отредактировал lyric - Jan 29 2016, 03:31
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|