Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
inquisitor
15 / 6 / 16
Регистрация: 22.12.2015
Сообщений: 1,763
1

Переписать функцию с Arduino на Atmega8

27.11.2018, 21:01. Просмотров 1099. Ответов 32
Метки нет (Все метки)

В Arduino есть функции на СИ
Цифровой ввод/вывод
C
1
2
3
pinMode()
digitalWrite()
digitalRead()
Аналоговый ввод/вывод
C
1
2
3
analogRead()
analogReference()
analogWrite()
Хочу аналогичные сделать на Atmega8.Прошу помочь с СИ кодом.

Добавлено через 22 минуты
C
1
pinMode(1,OUTPUT);
уверен это эквивалентная запись
C
1
DDRB =|(1<<PB0);
analogWrite(1,250) по сути это ШИМ Подаем на ножку порта,установленную ранее,как выход значение от нуля до 255.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2018, 21:01
Ответы с готовыми решениями:

помогите: atmega8 + arduino + nrf24l01
Помогите подружить Atmega8 с Arduino с помощью радио передатчика nrf24l01. Уже какой день пытаюсь...

Как прошить Atmega8 с помощью Arduino Uno
Здравствуйте, уважаемые! У меня в наличии есть плата Arduino Uno (точнее ее китайская копия),...

Разница между ATMEGA8-16AI и ATMEGA8-16AU
Кто подскажет, в чем разница между ATMEGA8-16AI и ATMEGA8-16AU. Смотрю в Платане цены между ними...

AVRISP + ARDUINO mega + Arduino mini 32Khz
Помогите пожалуйста. Собирал самостоятельно Arduino mini. По не опытности ошибся при прошивке...

Переписать JS AJAX запрос к веб-серверу на Arduino на C#
На Arduino работает Веб сервер. Он формирует html-страницу, принимает AJAX запрос и отсылает ответ....

32
inquisitor
15 / 6 / 16
Регистрация: 22.12.2015
Сообщений: 1,763
04.12.2018, 20:57  [ТС] 21
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
И где была ошибка?
в Схеме протеус не запускает симуляцию ему не нравяться транзисторы и он говорит,что нет на них модели.ну это же глупости.Пожалуйста подправьте схему в протеусе.

C
1
2
3
4
5
6
7
8
9
int analogRead(int pin)
{
DDRB &=`(1<<pin);//на вход
ASSR=0x00;
TCCR2=0b01101110; //Fast PWM, Clear OC2 on Compare Match, clkT2S/256 (From prescaler) (реальная частота получится 8мгц/256 = 31250 гц)
TCNT2=0x00; // Timer Value = 0
TIMSK|=0x00;//
 return OCR2;// Output Compare Register = 250 в нашем случае это скважность шим (0 - это 0, а FF - 100 %)
}
Добавлено через 4 часа 44 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Разумеется, готовые библиотеки у меня есть.
В протеусе проверил, вроде работает.
А как выглядит функциональная и структурная схема вашей модели?
0
sharpey
352 / 145 / 34
Регистрация: 21.09.2008
Сообщений: 495
05.12.2018, 01:58 22
Часто получается, что "всё придумано за нас". При использовании Arduino IDE код без особых переделок можно запустить под ATmega8, достаточно установить эту библиотеку и выбрать сей "камень".
0
COKPOWEHEU
1154 / 817 / 192
Регистрация: 09.09.2017
Сообщений: 3,528
05.12.2018, 10:27 23
Цитата Сообщение от inquisitor Посмотреть сообщение
в Схеме протеус не запускает симуляцию ему не нравяться транзисторы и он говорит,что нет на них модели
Ну так выберите те транзисторы, на которые модель есть. Скажем, маломощные полевики irlml0030 прекрасно симулируются.
Цитата Сообщение от inquisitor Посмотреть сообщение
Пожалуйста подправьте схему в протеусе.
А что с ней не так? Да и вообще, про какую из схем вы говорите?
Цитата Сообщение от inquisitor Посмотреть сообщение
А как выглядит функциональная и структурная схема вашей модели?
Вот это вы меня в тупик поставили
Расскажите, а лучше приведите пример того, что вы называете функциональной и структурной схемой. А главное, точно ли надо все это формально расписывать для такой простой программы?
Цитата Сообщение от sharpey Посмотреть сообщение
При использовании Arduino IDE код без особых переделок можно запустить под ATmega8
...и оно будет работать на 2 порядка медленнее, чем если написать по-человечески. Пример с возможной реализацией digitalWrite я уже приводил.
0
inquisitor
15 / 6 / 16
Регистрация: 22.12.2015
Сообщений: 1,763
05.12.2018, 15:17  [ТС] 24
Цитата Сообщение от sharpey Посмотреть сообщение
При использовании Arduino IDE код без особых переделок можно запустить под ATmega8, достаточно установить эту библиотеку и выбрать сей "камень".
Простите не нашел файлов .h/.cpp
0
sharpey
352 / 145 / 34
Регистрация: 21.09.2008
Сообщений: 495
06.12.2018, 13:34 25
inquisitor, скачать всю библиотеку можно по зелёной кнопке "Clone or download", либо в Arduino IDE в меню File > Preferences выбрать Additional Boards Manager URLs и ввести https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json Далее в меню Tools > Board > Boards Manager... ждём индексации и находим MiniCore, выделяем его и жмём Install. После установки закрыть окно Boards Manager.
(всё написано там же).

Добавлено через 2 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
и оно будет работать на 2 порядка медленнее,
Есть старый амэриканский поговорька "За всё приходится платить."
Два порядка - это в сто раз. Что-то сомнительно.
0
inquisitor
15 / 6 / 16
Регистрация: 22.12.2015
Сообщений: 1,763
06.12.2018, 23:44  [ТС] 26
Цитата Сообщение от sharpey Посмотреть сообщение
inquisitor, скачать всю библиотеку можно по зелёной кнопке "Clone or download", либо в Arduino IDE в меню File > Preferences выбрать Additional Boards Manager URLs и ввести https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json Далее в меню Tools > Board > Boards Manager... ждём индексации и находим MiniCore, выделяем его и жмём Install. После установки закрыть окно Boards Manager.
(всё написано там же).
У меня в IDE Arduino таких пунктов нет.
Переписать функцию с Arduino на Atmega8


Переписать функцию с Arduino на Atmega8


Переписать функцию с Arduino на Atmega8


Переписать функцию с Arduino на Atmega8


Переписать функцию с Arduino на Atmega8
0
inquisitor
15 / 6 / 16
Регистрация: 22.12.2015
Сообщений: 1,763
06.12.2018, 23:56  [ТС] 27
Переписать функцию с Arduino на Atmega8

Установил,4 платы Atmega
Переписать функцию с Arduino на Atmega8
0
sharpey
352 / 145 / 34
Регистрация: 21.09.2008
Сообщений: 495
07.12.2018, 04:51 28
inquisitor, пробовали что-нибудь собрать под ATmega8?
0
inquisitor
15 / 6 / 16
Регистрация: 22.12.2015
Сообщений: 1,763
07.12.2018, 13:30  [ТС] 29
Цитата Сообщение от sharpey Посмотреть сообщение
inquisitor, пробовали что-нибудь собрать под ATmega8?
Переписать функцию с Arduino на Atmega8

Подключил Virtual terminal+atmega8.В свойствах Мк частота 8 Мгц. Выводятся непонятные казябрики при симуляции. Как решить эту проблему?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
int x = 0;    // переменная
 
 
void setup() {
  Serial.begin(9600);  
 
}
 
void loop() {
  Serial.print("NO FORMAT");   
  Serial.print("\t");              // выводим tab
 
  Serial.print("DEC"); 
  Serial.print("\t");     
 
  Serial.print("HEX");
  Serial.print("\t");  
 
  Serial.print("OCT");
  Serial.print("\t");
 
  Serial.print("BIN");
  Serial.print("\t");
 
  Serial.println("BYTE");
 
  for(x=0; x< 64; x++){    // выводим печатные символы ASCII
 
    // вывовдим в различных базисах
    Serial.print(x);       // выводим в десятичном, тоже, что и с "DEC" (по умолчанию)
    Serial.print("\t");   
 
    Serial.print(x, DEC); 
    Serial.print("\t");   
 
    Serial.print(x, HEX); 
    Serial.print("\t");   
 
    Serial.print(x, OCT); 
    Serial.print("\t");   
 
    Serial.print(x, BIN); 
    Serial.print("\t");   
 
     delay(200);           
  }
  Serial.println("");      // еще перенос строки
}
0
sharpey
352 / 145 / 34
Регистрация: 21.09.2008
Сообщений: 495
07.12.2018, 14:53 30
Цитата Сообщение от inquisitor Посмотреть сообщение
Выводятся непонятные казябрики при симуляции. Как решить эту проблему?
Коды до 32 (по десятичному основанию) или 0x20 (по шестнадцатеричному основанию) являются управляющими, например, возврат каретки CR (carriage return) имеет код 0x0D, перевод строки LF (line feed) имеет код 0x0A. Поэтому Вы и видите спецсимволы.
0
inquisitor
15 / 6 / 16
Регистрация: 22.12.2015
Сообщений: 1,763
07.12.2018, 15:34  [ТС] 31
Цитата Сообщение от sharpey Посмотреть сообщение
Коды до 32 (по десятичному основанию) или 0x20 (по шестнадцатеричному основанию) являются управляющими, например, возврат каретки CR (carriage return) имеет код 0x0D, перевод строки LF (line feed) имеет код 0x0A. Поэтому Вы и видите спецсимволы.
Не работает.
Переписать функцию с Arduino на Atmega8


C
1
2
3
4
5
6
7
8
9
10
11
12
int x = 0;    // переменная
 
 
void setup() {
  Serial.begin(9600);  
  Serial.println("Проверка связи"); 
  Serial.println("Proverka swazi"); 
}
 
void loop() {
 
}
0
inquisitor
15 / 6 / 16
Регистрация: 22.12.2015
Сообщений: 1,763
07.12.2018, 15:39  [ТС] 32
Там какая то проблема ч частотами ведь даже в названии файла прошивки видно что генериться для 16 мгц,а в протеусе в свойствах компонента Мк максимум 8 мгц.
0
Вложения
Тип файла: rar atmega8.rar (185.8 Кб, 0 просмотров)
COKPOWEHEU
1154 / 817 / 192
Регистрация: 09.09.2017
Сообщений: 3,528
11.12.2018, 02:52 33
Цитата Сообщение от sharpey Посмотреть сообщение
Два порядка - это в сто раз. Что-то сомнительно.
Я в курсе. Многократная арифметика с указателями вполне может занять сотню тактов.
Цитата Сообщение от inquisitor Посмотреть сообщение
в протеусе в свойствах компонента Мк максимум 8 мгц.
В настройках контроллера укажите "тактирование от внешнего кварца" (то ли самый верхний, то ли самый нижний вариант), после чего в поле frequency или как-то так вписываете любую частоту, хоть 20 ГГц.
0
11.12.2018, 02:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2018, 02:52

Модуль распознавания речи + Arduino Pro mini + Arduino MP3-Sheild
Список компонентов: 1).Модуль распознавания речи.(напряжение питания от 4,5 до 5,5 Вольт DC)...

Arduino UNO. Как работать c RFID-сканнером и Arduino на одном Serial-порту?
Рас уж тут речь зашла об ардуине и многопоточности COM порта, думаю могу обратиться именно сюда за...

Arduino uno + arduino ethernet + delphi для чайников
Доброго времени суток. У меня такая задача нужно реализовать программу на Delphi которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru