Не только Ардуино в мире есть!

[ Версия для печати ]
Добавить в Telegram Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (8) « Первая ... 6 7 [8]   К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
iiiytn1k
8.12.2016 - 22:05
1
Статус: Offline


Юморист

Регистрация: 22.08.15
Сообщений: 531
Да нет же. Я же не поленился и собрал простенькую схемку на отладочной плате.
Программка простенькая:
Код

#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3) | (1<<DDD2) | (1<<DDD1) | (1<<DDD0);
   while(1)
   {
PORTD=(0<<PD7) | (0<<PD6) | (0<<PD5) | (0<<PD4) | (0<<PD3) | (0<<PD2) | (0<<PD1) | (0<<PD0);
_delay_ms(1000);
PORTD=0b11011001;
 _delay_ms(1000);
 PORTD=(1<<PD1)| (1<<PD2);
_delay_ms(1000);
   }
}

Среда разработки Atmel Studio 6.2.
Начальное состояние :




Не только Ардуино в мире есть!
 
[^]
iiiytn1k
8.12.2016 - 22:05
2
Статус: Offline


Юморист

Регистрация: 22.08.15
Сообщений: 531
Записали PORTD=0b11011001;


Не только Ардуино в мире есть!
 
[^]
iiiytn1k
8.12.2016 - 22:06
2
Статус: Offline


Юморист

Регистрация: 22.08.15
Сообщений: 531
А теперь пишем PORTD=(1<<PD1)| (1<<PD2); и видим что другие биты сбросились!


Не только Ардуино в мире есть!
 
[^]
iiiytn1k
8.12.2016 - 22:12
2
Статус: Offline


Юморист

Регистрация: 22.08.15
Сообщений: 531
А вот есть написать вместо PORTD=(1<<PD1)| (1<<PD2); PORTD|=(1<<PD1)| (1<<PD2); то тогда биты не сбросятся:
З.Ы. А дуринками я не пользуюсь, как и эмуляторами. И вам того же советую. И регистры я все знаю практически наизусть, не первый год с аврками работаю. Последний раз даташит на атмегу открывал года полтора назад.

Это сообщение отредактировал iiiytn1k - 8.12.2016 - 22:15

Не только Ардуино в мире есть!
 
[^]
Les1920
8.12.2016 - 22:21
0
Статус: Offline


Демон в коре

Регистрация: 5.08.13
Сообщений: 3082
iiiytn1k
Да пардон тупанул
Код

PORTA&=~_BV(7);


Все таки портит простота (CodeVision) соображалку

Это сообщение отредактировал Les1920 - 8.12.2016 - 22:23
 
[^]
iiiytn1k
8.12.2016 - 22:33
1
Статус: Offline


Юморист

Регистрация: 22.08.15
Сообщений: 531
CodeVision вообще зло по нескольким причинам:
1) Код вроде похож на Си, но таковым не является.
2) Последний раз когда я им пользовался генератор кода выдавал конструкции типа SPCR=0x5F вместо
SPCR=(0<<SPIE) | (1<<SPE) | (0<<DORD) | (1<<MSTR) | (1<<CPOL) | (1<<CPHA) | (1<<SPR1) | (1<<SPR0);
Сейчас вроде говорят исправили.
3) Проприетарщина
 
[^]
Les1920
8.12.2016 - 22:45
0
Статус: Offline


Демон в коре

Регистрация: 5.08.13
Сообщений: 3082
iiiytn1k
Цитата
Последний раз когда я им пользовался генератор кода выдавал конструкции типа SPCR=0x5F вместо
SPCR=(0<<SPIE) | (1<<SPE) | (0<<DORD) | (1<<MSTR) | (1<<CPOL) | (1<<CPHA) | (1<<SPR1) | (1<<SPR0);
Сейчас вроде говорят исправили.

Да исправили
Подкупает он только генератор начального кода и библиотеки. Если что то по шустрому вполне себе подходит

Цитата
Код вроде похож на Си, но таковым не является.

Один из диалектов так скажем

Цитата
3) Проприетарщина

Ну в нашем мире это не проблема.
 
[^]
ralfhome
8.12.2016 - 23:18
0
Статус: Offline


Ярила

Регистрация: 13.08.11
Сообщений: 4022
Цитата (funidiot @ 7.12.2016 - 23:25)
Цитата
Наш одноплатный компьютер аппаратно и конструктивно совместим с платформой ArduinoUno, что позволяет использовать весь спектр сенсоров, драйверов и прочих модулей для ArduinoUno", — сообщил директор компании «ИНТЭК» Никита Калиновский.
Он подчеркнул, что MilestoneCompact имеет гораздо более высокую производительность, чем ArduinoUno, а также соответствует классу Industrial по эксплуатационным характеристикам (климат, вибрация, удары)

вот, блядь, докажите, рады будем!!!1111!!!

я буду правда рад, если на нашей линии сделают

Это точно. Недавно видел модули, наша разработка все такое. А на образце ПП надпись Altera. Тупо скопировали, плату развели и надпись Altera убрали. Нам бы свои компоненты делать научиться.

Это сообщение отредактировал ralfhome - 8.12.2016 - 23:19
 
[^]
Диманофф
8.12.2016 - 23:24
1
Статус: Offline


Юморист

Регистрация: 13.02.11
Сообщений: 453
О, блин! А что за контрацептив iiiytn1k минусит ? Поправил.
Les1920 , жжошь! Выше глаголил о тупых школьниках, которые пишут на Wiriтg и ничего не понимают в устройстве МК, а опосля жалуешься на CodeVision и тупишь с элементарными битовыми операциями с регистрами lol.gif
Инициализируй периферию ручками, так оно надежнее: всегда знаешь, как настроил МК. dont.gif
(для сомневающихся: инициализация периферии в ассемблере проходит абсолютно так же - пишем в регистры МК те же нули и единицы. Фактически, работа напрямую с начинкой МК. Ближе некуда.)
зы: iiiytn1k , держи 5 за AS. Сижу на семерке, устраивает полностью.

Это сообщение отредактировал Диманофф - 8.12.2016 - 23:27
 
[^]
AVIcrak
8.12.2016 - 23:27
1
Статус: Offline


Ярила

Регистрация: 3.06.16
Сообщений: 1325
Цитата (Les1920 @ 8.12.2016 - 19:44)
А что в этом языке вообще можно работать с чем то что предусмотрено в avr но нет в ide языка ?

Это-ж надо так вывернуть...
Для авр в среде ардруино, с их родной ID - включено всё. Буквально всё что можно уже оптимизировано по самые гланды. Функции простые и понятные, без возможности дальнейшего улучшения - но зато всегда работающие безотказно.

Но всё это становится совершенно бесполезным при использовании cortex чипа, например от ST. Не получается простых функций, хоть тресни.
При этом писать и читать код получается проще если он написан с использованием прямого обращения к регистрам, через cmsis и самый важный и жирный файл - CMSIS Cortex-Mх Device Peripheral Access Layer Header File.

В отличии от надстроек типа древнего spl и более современного hal - названия регистров, а так-же их содержимое - остаётся неизменным во всей линейке чипов st. Есно количество самих регистров может меняться, но названия не меняются!!! Если появляется что-то новое - оно будет иметь уникальное имя.

HAL имеет уже пятый релиз по счёту, каждый раз с глубокой переработкой. Причём он получается разный для M0-7. Так-что писать что-то переносимое на нём - особо бесполезно. Фактически - он годен для кубика, создать проект и отследить все что данный код делает с чипом.

В ардруино то-же самый hal не лезет чисто физически, это получится абстракция над абстракцией. Безумное количество вложений #define , за которое уже хочется убивать голыми руками.

Как это на регистрах для ARM
GPIOC->BSRR = 1<<(13); // установить бит 13 в 1 порта С
GPIOC->BSRR = 1<<(13 +16); // сбросить бит 13 порта С
GPIOC->BSRR = (1<<(12 +16)) | (1<<(9)); // сбросить 12 и установить 9 порта С
temp = GPIOC->IDR; // прочитать весь порт
GPIOC->ODR = temp; // записать весь порт
Код не имеет смысла, он всего-лишь показывает разницу между средой ардруино и ARM.
 
[^]
Ungydrid
8.12.2016 - 23:37
1
Статус: Offline


Мана-мана! Тыц-тыц-тырым!

Регистрация: 8.11.07
Сообщений: 15147
Цитата (ГэнералПетька @ 7.12.2016 - 23:55)
.... плата отладки Мне не хватает внимания со стороны окружающих. Обнимите меня, кому не лень. 2-ва контроллера.

Пардон за оффтоп, но имхо это просто шедевр сокращения!
 
[^]
Zamtorgpred
9.12.2016 - 01:02
0
Статус: Offline


Шутник

Регистрация: 19.03.16
Сообщений: 67
Офигеть сколько "дуинщиков", уважуха всем специалистам.
Самому только предстоит познать "дзен" с нуля, заказал Ардуино и другие детали под конкретный проект автоматизации аквариума. Будет чем на праздники заняться...Надеюсь на это его быстродействия бедут достаточно.
Интересно, есть на форуме "дуинщики-аквариумисты"? Может кто поделится опытом.
 
[^]
Беркутбаев
9.12.2016 - 19:35
2
Статус: Offline


Шутник

Регистрация: 21.10.15
Сообщений: 63
Цитата (AVIcrak @ 8.12.2016 - 01:40)
Вот впёрлась вам эта ардуина...
Для тех кто в танке:  ардуина это не только сам чип, но и его нативная поддержка на уровне примитивных функций. Ну типа такой - включить варт №х.
Для классической меги получается очень просто, варт с нужным номером всегда находится на своих лапах, и тут без вариантов.
А теперь возьмём любой cortex, у st от M0 до M7 - ноги под варт ремапятся. Это означает что тот-же варт можно активизировать на нескольких вариантах подключения к чипу - буквально.

Сам понял, что написал?

Цитата (AVIcrak @ 8.12.2016 - 01:40)
Едим дальше.


Ешьте сами с волосами
 
[^]
Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 27518
0 Пользователей:
Страницы: (8) « Первая ... 6 7 [8]  [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 



Активные темы






Наверх