Sam3x8e Вовод вывод

kserj
Offline
Зарегистрирован: 27.01.2016

Добрый день.

При записи в порт - командой  digitalWrite(44, HIGH); На ножке появляется лог. "1" и падает в 0.

Почему вывод порта  не держит "1"?

Может кто сталкивался.

С уважением

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

kserj пишет:

При записи в порт - командой  digitalWrite(44, HIGH); На ножке появляется лог. "1" и падает в 0.

Почему вывод порта  не держит "1"?

Потому что одна из следущих команд сбрасывает его в 0, ачевидна. 

Ну или тощий он, тяжело 1 держать. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Кода не будет?

kserj
Offline
Зарегистрирован: 27.01.2016

Команды нет, покрайней мере в скетче.

Я знаю что при посылке в порт ЦАП нужно поддерживать заданный уровень программно. Может и сдесь так?!

kserj
Offline
Зарегистрирован: 27.01.2016

Код заезженный до чертиков, мигание светотиодом. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Значит, не будет кода? Не какого нибудь, а именно того, который загружается безо всяких малейших изменений? Ну, тогда удачи Вам, разбирайтесь сами.

kserj
Offline
Зарегистрирован: 27.01.2016

Долблю в порт 1 , а на выходе 0

Маразм какой-то. Наверное Библитеки Arduino IDE плохо поддерживают Sam3x. 

Надо писать на низком уровне.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Hаверное. Удачи!

kserj
Offline
Зарегистрирован: 27.01.2016

Если интересен код плис:

void setup()

 
 pinMode(44, OUTPUT);      // устанавливает режим работы - выход
   

void loop()

{

digitalWrite(44, HIGH);

}

kserj
Offline
Зарегистрирован: 27.01.2016

Надо повнимательнее разобраться в мануале.

Там есть режим работы IO от контроллера порта и отт перефирии.Наверное сдесь надо рыть

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

kserj пишет:

Если интересен код плис:

void setup()

 
 pinMode(44, OUTPUT);      // устанавливает режим работы - выход
   

void loop()

{

digitalWrite(44, HIGH);

}

Не знаю, ПЛИС там или FPGA, только перед нами "типичный случай так-называемого вранья". То, что Вы назвали "кодом" не может загружаться в Мегу уже хотя бы потому, что он не компилируется - фигурных скобок не хватает. 

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

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

kserj пишет:
Библитеки Arduino IDE плохо поддерживают Sam3x.

Та, не, это просто ардуина китайская. Стопудофф!

kserj
Offline
Зарегистрирован: 27.01.2016

Я ни кого не просил код.
И это не мега. Как вы пишите.А скобки недостающие, если вы разбираетесь то поняли бы. Принцип работы AVR и ARM разные.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

kserj пишет:
Я ни кого не просил код.

Это я Вас просил. Но больше не прошу - надоело.

kserj пишет:
А скобки недостающие, если вы разбираетесь то поняли бы. Принцип работы AVR и ARM разные.

Т.е. Вы в здравом уме и трезвой памяти утверждаете, что вот такая конструкция

kserj пишет:

void setup()
pinMode(44, OUTPUT);      // устанавливает режим работы - выход

void loop() {
   digitalWrite(44, HIGH);
}

на АРМе компилируется и работает?

Ну, в таком случае, да, я действительно ни в чём не разбираюсь и ничего не понимаю. Посыпаю голову пеплом и с позором удаляюсь.

Успехов Вам!

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

kserj пишет:
Принцип работы AVR и ARM разные.

Не, ну так-то конечно, но только не на китайских ардуинах. На китайских если не компилируется, то и не грузится.

kserj
Offline
Зарегистрирован: 27.01.2016

Если что то надо сделать, это надо делать самому. Спасибо всем , кто откликнулся. Как разберусь сообщу.
С уважением .

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Жесть :)

mixail844
Offline
Зарегистрирован: 30.04.2012

Как всегда , хотели помочь ,  а еще и виноватыми остались.

bwn
Offline
Зарегистрирован: 25.08.2014

Осеннее обострение?

kserj
Offline
Зарегистрирован: 27.01.2016

Извиняюсь. Ни кого не хотел обидеть. Просто эта тема не так распростроннена. И мало кто с таким оборудованием работает. Нужны ресурсы, быстродействие, нормальная работа с TFT и тачкрином. SAM 3x8e это все предоставляет. Ещё раз извиняюсь если кого обидел невольно.

kserj
Offline
Зарегистрирован: 27.01.2016

А вы можете попробовать у кого есть Arduino Due. Залить скетч с миганием светодиодом ,предварительно увеличев задержку между ВКЛ и выкл светодиода, подключить осцилограф к выходной ножке и посмотреть как ведёт себя сигнал на порту. Я уверен что лог. 1 не бедет держаться то время которое заданной программно.

bwn
Offline
Зарегистрирован: 25.08.2014

Та нам то чего обижаться? Вы пришли, запостили вопрос. Начиная со второго поста вам ненавязчиво предлагают показать код, который типа не работает, вы ни в какую. Затем делаете вывод, что сам сделаю лучше и быстрее, и удаляетесь. Зачем приходил, за сочуствием? 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

bwn пишет:

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

Как это "ни в какую"??? А пост #8???? Там правда нет фигурных скобок и потому он не компилируеься, но это только с нашей глупой точки зрения, ибо

kserj пишет:
скобки недостающие, если вы разбираетесь то поняли бы. Принцип работы AVR и ARM разные.

Так что, bwn, когда будете разбираться, тогда и приходите, у тех, кто разбирается, на ARM и некомпилируемый код работает.

А пока ТС сам без сопливых всё сделает. На низком уровне, и (возможно) на чистом С :)))) 

mixail844
Offline
Зарегистрирован: 30.04.2012

kserj пишет:
Извиняюсь. Ни кого не хотел обидеть. Просто эта тема не так распростроннена. И мало кто с таким оборудованием работает. Нужны ресурсы, быстродействие, нормальная работа с TFT и тачкрином. SAM 3x8e это все предоставляет. Ещё раз извиняюсь если кого обидел невольно.

 

что вы имеете ввиду по "нормальная работа с TFT"? 

для меня это присутствие интерфейса LTDC/FSMC которое есть в линейке STM32F42x ,но насколько я могу судить чего либо подобного нет в  SAM 3x8e

DMA ? насколько я помню,ардуино не потдерживает DMA из коробки..как впрочем не потдерживает LTDC/FSMC.

так что остаеться управлять экраном по последовательному интерфейсу ,типа SPI.

и заявлять что скобки не нужны потому что это ARM  , при этом ,это все на платформе Ардуино...смешались мухи и котлеты.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

kserj пишет:
Если что то надо сделать, это надо делать самому.

Первая здравая мысль! Могём же когда хочим!

kserj
Offline
Зарегистрирован: 27.01.2016

Под нормальной работой TFT понимаю:
1. Скорость вывода графических/символьных данных на экран . у меня TFT LCD 3,5" 16-ти разрядный интерфейс, на процессоре ILI 9341и вполне устраивает. Удобные библиотеки.
2. Объём памяти программ 512Кб
3. DMA поддерживается на низком уровне.
Что такое DMA - это прямой доступ к памяти минуя процессор от перефирии.
Я экспортировал скетч ардуины в Atmel Studio 7 и функции экрана работали.
Только вот не догадался сразу проверить работу портов из Студии.
Но проверю.
На STM32 я не работал,а переходить на эту платформу хлопотно и время. У меня все заточено под Atmel.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Kserj,

можешь объяснить, зачем этот топик? Понятно, что никакого кода у тебя нет (то что ты привёл не компилируется и загрузить его невозможно). А раз у тебя нет кода, то нет и проблемы – ты её придумал. Зачем? Объясни, пожалуйста.

kserj
Offline
Зарегистрирован: 27.01.2016

Код находится в Arduino IDE , скетч blink.ino.
Для тех кто не понял.
Этот код можно компилить как для AVR ,так и для ARM.
А в остальном см. 1 пост

andriano
andriano аватар
Онлайн
Зарегистрирован: 20.06.2015

У меня среди примеров 11 вариантов blink.ino, но ни один не совпадает с тем, что Вы разместили в сообщении №8.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Ну, тот код, что в blink.ino, конечно, компиоируется, а вот тот, что ты выложил в посте №8 и не думает. Вот я и спрашиваю, зачем тебе этот цирк?

5N62V
Offline
Зарегистрирован: 25.02.2016

mixail844 пишет:

так что остаеться управлять экраном по последовательному интерфейсу ,типа SPI.

ну еще по параллельному можно

kserj
Offline
Зарегистрирован: 27.01.2016

Всем привет.

Как я и говорил разберусь с портами сообщу.

Так вот :

1. Установка  любого порта в лог.1 из Arduino IDE и зброс выглятят нак:

void setup()
  
{
 
void loop()
{
 PIOC->PIO_OER=PIO_PC19;          //Записываем в регистр PIN44 на вывод
   
 PIOC->PIO_PER=PIO_PC19;           //Вкл. регистер который управляет пином 
 
while(true) 
{
PIOC->PIO_SODR=PIO_PC19;         // Устанавливаем в регистре управления выводом PINa лог.1
delay(3000);                                 //задержка в 3сек
PIOC->PIO_CODR=PIO_PC19;       //Сбрасываем регистр управления PINa в лог.0.
delay(3000);   
}

}

Вот как бы и всё.

В Arduino DUE у меня работает PIN44

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Да, но есть беда - опять не компилируется ни хрена :(

А в остальном, замечательно! :)

kserj
Offline
Зарегистрирован: 27.01.2016

У меня версия Arduino ide 1.8.6

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DIYMan пишет:

Жесть :)

Не просто жесть, а высококачественная, в полном соответсвии с ГОСТом.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

kserj пишет:
У меня версия Arduino ide 1.8.6
Это Ваша проблема. Текст из поста #31 (в котором четыре открывающие фигурные скобки и только две закрывающие) не компилируется ни в какой версии.

kserj
Offline
Зарегистрирован: 27.01.2016

У меня работает.

kserj
Offline
Зарегистрирован: 27.01.2016

Учите язык.

nik182
Offline
Зарегистрирован: 04.05.2015

У меня тоже не компилируется... но если в 4 строчке скобку перевернуть, то ...

kserj
Offline
Зарегистрирован: 27.01.2016

Запомните кол-во открывающихся скобок всегда должна равняться кол - ву закрывающихся. в скетче все правильно.

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

ЕвгенийП, может он просто троллит? Не может же в самом деле человек быть таким дебилом... :)

kserj
Offline
Зарегистрирован: 27.01.2016

Я как то об этом не подумал. Спасибо за поддержку. С уважением.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

dimax пишет:

Не может же в самом деле человек быть таким дебилом... :)

Вы недооцениваете людей. Может!

bwn
Offline
Зарегистрирован: 25.08.2014

dimax пишет:

ЕвгенийП, может он просто троллит? Не может же в самом деле человек быть таким дебилом... :)

Опана, даже dimax-a достали.))))

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Как Клапочки не хватаить... :(

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

kserj пишет:
Запомните кол-во открывающихся скобок всегда должна равняться кол - ву закрывающихся. в скетче все правильно.

А теперь пересчитай количество открывающихся и закрывающихся скобок в своём сообщении #31.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Jeka_M пишет:

А теперь пересчитай количество открывающихся и закрывающихся скобок в своём сообщении #31.

Зачем? У него и так работает! Это мы тут дебилы.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Да это-то давно и всем известно. :) Чел явно перенабирал скетч ручками, ну очепятался .. ни до одного не дошло.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Arhat109-2 пишет:

очепятался .. ни до одного не дошло.

Ну, слава Богу, нашёлся умный человек и всё объяснил, а то ведь никто догадаться не мог.