Easyelectronics.ru

Электроника для всех
Текущее время: 24 сен 2017, 20:49

Часовой пояс: UTC + 5 часов



    • JLCPCB for PCB Prototyping: 10 шт. 2-слоя 100*100mm 2$(около 140rub), изготовление за 24 часа.
    • Создание принципиальных схем и проектирование печатных плат
    • Крупнейший китайский онлайн магазин радиодеталей. Скидка 50%
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 24 ] 
Автор Сообщение
 Заголовок сообщения: SAMD21 без ASF
СообщениеДобавлено: 20 фев 2017, 21:45 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Кто-нибудь уже делал управление UART, USB, SPI без использования ASF ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 22 фев 2017, 22:25 
Только пришел

Зарегистрирован: 21 фев 2017, 01:23
Сообщения: 12
С серией SAMD21 не приходилось плотно общаться, а вот с SAMD20 работаю как раз без ASF. USB в SAMD20 нет. SPI имеет отличия, но, на первый взгляд, не очень серьёзные, так что могу, если хотите, скинуть пример инициализации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 07 мар 2017, 03:26 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
dmitry.stk писал(а):
С серией SAMD21 не приходилось плотно общаться, а вот с SAMD20 работаю как раз без ASF. USB в SAMD20 нет. SPI имеет отличия, но, на первый взгляд, не очень серьёзные, так что могу, если хотите, скинуть пример инициализации.

Было бы не плохо глянуть. Пытаюсь сам сделать, но не так гладко все идет. Сейчас с uart пробую проделать тоже самое.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 07 мар 2017, 16:57 
Только пришел

Зарегистрирован: 21 фев 2017, 01:23
Сообщения: 12
Набросал проект (SAMD21_UART.ZIP) для SAMD21 XPLAINED Pro - ловим байт по UART и зажигаем\гасим светодиод. Осторожно, могут быть ляпы, но вроде работает :) Проект сделан в Atmel Studio 7. В архиве SAMD20_SPI.ZIP пример инициализации SPI для SAMD20 (для адаптации под SAMD21 точно потребуется изменить ожидание синхронизации по аналогии с проектом для UART). Также может быть интересным почитать ветку форума на радиокоте http://radiokot.ru/forum/viewtopic.php?f=59&t=97708. Там года три назад обсуждалась работа с SAMD20.


Вложения:
SAMD20_SPI.ZIP [1.27 Кб]
Скачиваний: 31
SAMD21_UART.ZIP [14.61 Кб]
Скачиваний: 31
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 29 апр 2017, 05:00 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Спасибо за пример. Вообщем сделал тактовую на 48 М, от 32К внешника. Попытался запустить SPI. Ноль.
Смотрю осликом - нет ни CLK на пине, ни данных. Мигнул диодом на другом порту - все ок.
Наверное проблема с тактовой. Не правильно где-то инициализирую.
У меня получается 2 генератора. Один внешний на 32К (gen0) и через FLL 48 M (gen1).
При инициализации указываю тактирование от 48М. Думаю тут где-то засада. Или... частота не может быть больше XX мегагерц.
По даташиту при Baud(1) вроде частота получается 12 МГц, нет под рукой, надо еще раз проверить. Но у меня 48. Может тут косяк.
Не догадался сразу, для теста, взять таковую от 32К источника, упарился :-) .
Попробую поковыряться. Либо включить делитель и... Получится 12 МГц(если дело именно в частоте).
Начальный софтовый ресет делаю до выбора источника тактовой, может тут еще косяк.
Но в целом, логика работы SERCOM стала понятней и даже проще чем ASF :) . Нужно только первый блин правильно приготовить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 04 май 2017, 02:11 
Только пришел

Зарегистрирован: 21 фев 2017, 01:23
Сообщения: 12
zat, приветствую. Сам SERCOM можно тактировать от 48МГц, а вот сколько выдаст пин CLK уже зависит от настроек регистра BAUD (максимально 12МГц, если не изменяет память). Возможно, что у Вас, действительно, проблемы с настройками генератора, от которого берёте 48МГц. Вы можете вывести на GCLK_IO то, что даёт (или не даёт) этот генератор, и посмотреть осциллографом.
Дополнил проект из своего прошлого сообщения - инициализация SPI и отправка байта. В этом проекте тактирование от OSC8M. На следующей неделе буду посвободней, попробую добавить тактирование от DFLL48M.


Вложения:
Комментарий к файлу: UART+SPI
SAMD21_UART_SPI.ZIP [194.67 Кб]
Скачиваний: 32
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 04 май 2017, 17:51 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Да тут вроде запустил SPI. Разобрался с мультиплексорами портов и т.д.
Вообщем-то все пока норм. Но проблема сейчас в скорости передачи.
Ослик показывает, что тактирование идет на максималке около 15 кГц, пока оставил 1 кГц. Малова-то как-то. Возможно где-то включен делитель, попробую еще раз прошерстить инициализацию генераторов. Тактирование идет от внешнего кварца 32 кГц на плате (SAMD21 XPRO). Дальше на FLL и получаем 48 МГц. Собственно его заворачиваем на тактирование CPU. Но вот при тактировании SPI, что-то не получается эти 48 МГц (как мне кажется) подать на SERCOM
Код:
   REG_GCLK_CLKCTRL |= (
      GCLK_CLKCTRL_ID_SERCOM1_CORE |               
      GCLK_CLKCTRL_GEN_GCLK1 |    //Но думаю надо брать с    GCLK0, с него идет 48 МГц на CPU. Пробовал, ничего не меняется.                           
      GCLK_CLKCTRL_CLKEN                            
      );


Вложения:
DS1Z_SPI1.jpg
DS1Z_SPI1.jpg [ 72.67 Кб | Просмотров: 3054 ]


Последний раз редактировалось zat 04 май 2017, 19:45, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 04 май 2017, 19:10 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Кажется разобрался. Неправильно в регистр данные заполнял (вместо |= , надо просто = ). Хотя вроде как логично казалось...
Код:
   REG_GCLK_CLKCTRL = (
      GCLK_CLKCTRL_ID_SERCOM1_CORE |   
      GCLK_CLKCTRL_GEN_GCLK0       |              // GEN_GCLK1 = 32768 кГц ; GEN_GCLK0 = 48 МГц
      GCLK_CLKCTRL_CLKEN             
      );


Теперь генерит до 24 МГц, но мне хватает 1 МГц.


Вложения:
DS1Z_SPI2.jpg
DS1Z_SPI2.jpg [ 72.22 Кб | Просмотров: 3047 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 04 май 2017, 19:37 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
dmitry.stk писал(а):
zat, приветствую. Сам SERCOM можно тактировать от 48МГц, а вот сколько выдаст пин CLK уже зависит от настроек регистра BAUD (максимально 12МГц, если не изменяет память). Возможно, что у Вас, действительно, проблемы с настройками генератора, от которого берёте 48МГц. Вы можете вывести на GCLK_IO то, что даёт (или не даёт) этот генератор, и посмотреть осциллографом.
Дополнил проект из своего прошлого сообщения - инициализация SPI и отправка байта. В этом проекте тактирование от OSC8M. На следующей неделе буду посвободней, попробую добавить тактирование от DFLL48M.

Да, спасибо. Проекты помогли разобраться в последовательности инициализации.
Сейчас как раз пытаюсь разобраться с чипом FT813 от FTDI. И там как раз есть возможность попробовать SPI.
Я пока не смотрел инициализацию UART и I2C, но как я понял настройка портов проходит по такому же принципу.
Думаю там проблем не должно возникать, но посмотрим.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 05 май 2017, 19:04 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Появился еще одна проблемка.
на картинке видно, что сигнал SS меняется после каждого байта. Это в случае если работает хардварная передача.
Не все устройство это любят. Можно конечно самому ручками манипулировать сигналом SS. А не умеет ли чип дрыгать ногой только в начале и конце передачи ? Понятно, что он не имеет понятия о длине данных... но мало ли :)


Вложения:
DS1Z_SPI2_CLK.jpg
DS1Z_SPI2_CLK.jpg [ 73.27 Кб | Просмотров: 2972 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 07 май 2017, 01:02 
Только пришел

Зарегистрирован: 21 фев 2017, 01:23
Сообщения: 12
Аппаратным управлением SS не приходилось пользоваться - в SAMD20 такой возможности нет. А в SAMD21, судя по datasheet, эта функция должна работать именно так, как Вам этого хочется - SS low в начале посылки, а SS high в конце посылки. Конечно, МК не имеет понятия о длине посылки в количественном выражении, но он знает о том, есть ли ещё данные на передачу. Поэтому существуют два флага в регистре INTFLAG - DRE и TXC. Мне кажется, что если вовремя подгружать в Data данные (когда взведён DRE, но ещё не взведён TXC), то SS отработает нормально. К сожалению, под рукой нет отладочной платы, не могу проверить это предположение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 07 май 2017, 16:40 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
По поводу INTFLAG - DRE уже думал. Но наверное не подойдет. Данные отданные на передачу в SPI последовательно помещаются в буфер, длиной 1 байт и устанавливается флажок DRE и, если в буфере что-то есть, можно передавать. Если у нас хардварный режим передачи, то как только последний бит ушел в линию, флажок сбрасывается, и на SS подается лог. 1. Т.е. некуда записать второй байт и цикл ограничивается одним байтом. Придет второй, процедура повторится. Получается, что только ручной вариант. Иначе, в моем случае, если после передачи байта будет сразу 1 на линии SS, то ведомое устройство сразу думает, можно отвечать. А у меня команда из 3 байт. Будет глюк, а жаль :)
Теперь думаю, как бы еще к SPI прикрутить UART, чтобы работали вместе (как примитив, выдача отладочной информации в COM-порт) для дальнейшей работы по приему команд через UART и выдачи данных в SPI. Опять же, тактирование, но это не самое главное. Заметил такую интересную особенность (чего не было в AVR). При использовании команды printf компилятор (Atmel 7) начинает ругаться, что не хватает каких-то функций-заглушек. В итоге... ничего и не выдать в UART. Т.е. такое ощущение, что компилятор видит связь между printf и сконфигурированным портом.
Даже не знаю как тут подступиться.
Кстати, флаг TXC можно проверять только при ручном управлении SS. При аппаратном все передается пока в буфере хоть что-то есть для передачи (или подгружается).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 11 май 2017, 20:02 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
В хардварном режиме управления _SS, после каждого байта устанавливается сигнал _SS в состояние лог. 1.
И я так понимаю это особенность работы этого режима. Но работает все качественно. При ручном управлении сигналом
_SS, практически все так же норм, но переход линии _SS с 0 в 1 происходит на спадающем уровне последнего импульса CLK.
В хардварном режиме, дается пауза в 1-2 такта. Но, думаю проблем быть не должно.
В итоге, ручной режим более удобен если требуется передать больше одного байта, да и программно это никак не напрягает.


Вложения:
DS1Z_SPI_SS.png
DS1Z_SPI_SS.png [ 39.59 Кб | Просмотров: 2795 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 11 май 2017, 21:39 
Только пришел

Зарегистрирован: 21 фев 2017, 01:23
Сообщения: 12
zat, приветствую. Да, верно, моё предположение по поводу аппаратного управления SS было ошибочным. Сегодня внимательно почитал datasheet. Там чётко английским по белому написано:"If back-to-back frames are transmitted, the SS pin will always be driven high for a minimum of one baud cycle between frames." Т.е. как минимум на один цикл, определяемый значением baudrate, SS между байтами будет в 1.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 11 май 2017, 23:37 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Да-да. Я тоже это прочитал. Но одно дело почитать, другое увидеть. :) Могли бы уж что-то придумать.
Сегодня-завтра попробую прикрутить UART. С asf работает. Но уж больно все мудрено. Что хочу сделать.
1. Нужно передать байт МК, с отображением в консоли (типа callback).
2. Передать байт к МК и получить ответ в зависимости от переданного байта.
Сложность пока вижу в одном. Тактирование от 48 МГц, и тут вопрос с кол-вом ошибок которые будут возникать на скорости 9600,
57600, 115200.
Предвижу загвоздку, выше описывал. Atmel Studio в ARM почему-то игнорит вывод данных через prinf. Я так понимаю, он ждет инициализации debug SERCOM. Т.е. ему надо куда-то выводить отладку и этот порт должен быть активен. Только тогда он начинает понимать функцию.
Не знаю что будет после того как будет подключен мой UART, но странно это все. Если не инициализирован ни один UART, то компилятор ругается. Посмотрим, что будет после инициализации. Видать как-то отладку надо будет переназначать на другой порт.
IAR, кстати, не ругается (У IAR 8.10 уже встроен Eclipce, как у Keil, это уже не Блокнот :) ).
По результатам отпишусь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 12 май 2017, 23:09 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Попробовал сегодня соединить SPI и UART. Вроде соединилось. Во всяком случае могут работать вместе.
С передачей от ПК к МК по UART вроде тоже что-то как-то работает. Но вот реализация call-back (UART) не удается. Сыпется куча мусора.
Такое ощущение, что какая-то беда со скоростью, во всяком случае такое ощущение. Т.е. передаем скажем 1 в сторону МК.
Вроде как он ее получает, со стороны ПК сигнал идет нормальный, и ослик это подтверждает, можно вкл/выкл светодиод. Но вот при попытке принятый байт вернуть обратно в ПК.... идет куча мусора. Если данные пытаться отфильтровать по условию, то через раз работает.
Думаю проблема с отсутствием синхронизации. Скорость стоит 9600, но все байты еле ползут, как буд-то куча ошибок на линии.
Пока думаю, что можно придумать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 15 май 2017, 00:52 
Только пришел

Зарегистрирован: 21 фев 2017, 01:23
Сообщения: 12
Немного модифицировал прошлый проект - добавил отправку принятого байта обратно на ПК + тактирование от DFLL48. На счёт тактирования честно предупреждаю - взял код из рабочего проекта на SAMD20 и лишь поправил ошибки при компиляции. Работает, но могут быть скрытые баги, например с синхронизацией доступа к регистрам. Посмотрите, может поможет разобраться с проблемой.


Вложения:
SAMD21_UART.ZIP [204.5 Кб]
Скачиваний: 23
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 15 май 2017, 02:17 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Спасибо, посмотрю. Просто не улавливаю где же беда. Т.е. если от ПК идет передача в сторону МК, допустим 1,
то в прерывании мы ее ловим, записываем в переменную.... и можно выводить в основном цикле ловить результат.
Но не тут-то было. если мы просто принимаем данные от ПК в МК, все гуд. Ослик пишет, что все приходит в сторону МК.
Передача от МК в ПК, скажем просто 1 загоняем в регистр и она выдается в линию, тоже вроде даже работает (но бывают ошибки).
Но принять в прерывании байт от ПК, записать его в переменную и тут же отдать обратно в сторону ПК... тупик... какой-то мусор.
Либо, тут я неправильно что-то делаю, скажем битов не 8 в регистр принимается, а скажем 10 (1 старт-бит, 8 данные, 1 стоп), а я их
заталкиваю в 8-битную переменную и пытаюсь отдать обратно в ПК, либо... чего-то еще. В даташите ничего вроде особенного не говорится.
Стандартный проект на asf с callback пашет нормально. Странно все это.


Вложения:
DS1Z_RS232.png
DS1Z_RS232.png [ 35.22 Кб | Просмотров: 2215 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 15 май 2017, 02:54 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Посмотрел пример. Вообщем-то, я примерно делаю так же. И ситуация повторяется.
В основном цикле есть вывод предопределенного буфера, затем принятого байта, и дальше SPI.
Если все оставить как есть, то в таком виде срабатывает только процедура WriteStr (т.е. выводим заранее предопределенные символы, что вроде как у меня так же работает). Два водряд вызова процедур не работает. Так же, если есть хоть одна процедураа записи в порт, то и лампочка не моргает. Если отключить выводы в порт, то лампочка моргает. Собственно, ситуация, сранная.
Если закоментировать лишние вызовы и оставить только вывод байта ( WriteByte(RecByte) ), то
ситуация прям как и уменя. Выводится мусор, скажем ввожу в консоль 1234567890, на выходе: МжжуНууюОю
Т.е. принятый байт в прерывании и записанный в RecByte уже выходит в искаженном виде при попытке его передать в сторону ПК.
Не знаю как на D20, но на D21 у меня именно так. Собственно, с чем и бьюсь.
В качестве порта я использую не SERCOM 3, а SERCOM0. Думаю тут не должно быть проблем. Хотя, по даташиту на одной из
ног висит NMI. Это смущает, но ... по идее не должно мешать. Как вариант попробую заюзать другой порт. Мало ли...
-------
Смена пинов не помогла. Ситуация та же. Даже не знаю что и подумать. А на D20 все норм пашет ?
Пример с ASF нормально работает. Но вроде ничего там нет такого, чтобы без него не заработало.
Т.е. проблема в том, что принятый байт в буфер не отдать тут же обратно без искажений. В даташите ничего такого не нашел,
весь прием и передача идет аппаратно вроде как. Не ожидал, что callback такая проблема.


Вложения:
rs232_err.jpg
rs232_err.jpg [ 8.88 Кб | Просмотров: 2211 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 15 май 2017, 20:19 
Только пришел

Зарегистрирован: 21 фев 2017, 01:23
Сообщения: 12
Проект, который я выкладывал, написан для SAMD21 и проверен на плате ATSAMD21-XPRO. Все SERCOM одинаковы, так что смена пинов ничего не решает. Впрочем, Вы сами в этом убедились. В регистре DATA находится 8-ми битная переменная (на самом деле зависит от настроек в CTRLB). Так что, это тоже не причина для такой работы. Я не совсем понял вот что - Вы посылаете "1234567890" за один раз одной пачкой? Обратно байт отправляете в главном цикле или в прерывании? У Вас мой код тоже не работает? В общем, если не секрет, выложите свой проект, если будет время, то я обязательно его гляну.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 15 май 2017, 22:48 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Байты посылаю по 1 шт. просто при нажатии каждой клавиши, callback-ом отображаем на терминале результат нажатия.
Ночь пролетела быстро. Утро началось с того, что залил проект с использованием ASF. Отладчиком ничего в нем не обнаружив чего-то "каверзного" из того что написано в даташите и любезно предоставленными dmitry.stk исходниками проекта, решил все попробовать на работе. Плата кочует туда-сюда по пути дом-работа. Ослик показывает, что из ПК все идет к МК как надо. Если МК заставить вывести заранее подготовленный в переменной байт в линию, то тоже все гуд. Ели байт пришел в МК и тут же ушел из МК - то уже на экран выводится мусор. Решил пройтись отладчиком, уж коль все гладко, то не думаю что проблема с чипом. Подключил ослик, отладчик в студии запустил, начал прогон. Дошел до ввода данных с клавы. Ослик честно показал, что я отправил цифру 1(0x31). Отладчик показал, что принял код 204(0xCC) . Нажимаем разные клавиши, ослик все показывает гуд, а отладчик, что все байты больше 128 (dec). Заменил кабели - все тоже самое. Дома работает, на работе через раз. Насторожился. Код залил дома, дабы быть уверенным что он точно работает. На работе идут ошибки, работает не стабильно. Отключил SPI, кабели.. результат тот же. Единственно что не менял, это чип :) и сам преобразователь USB-UART. Но с преобразователем у меня все устройства пашут. Преобразователь на чипе CP1002. Драйвера для чипа обновил до последних (6.7.4), мало ли "винда" что-то сама придумала. Уж он железно пашет и почти во всех устройствах без проблем. Заменил провода - нет эффекта. Решил, что надо все же заменить преобразователь. Дома лежит похожий с тем же чипом, но от другого производителя, древний... много он чего видел, бывая внутри разных устройств :) . Мало надеялся на какие-либо изменения. Но.... все заработало. Даже без всяких проверок буферов, регистров и т.д. Все работает как надо, и лампочки и консоль и callback и т.д.
Странно, но с другими устройствами преобразователь работает, а с D21 не срослось. Попробовал сразу из прерывания обработать данные и даже не возникло проблем.
--------------
dmitry.stk - Спасибо за помощь и потраченное время. Хотя бы стало понятно, что это должно работать и работает, а не глючит как у меня. Не ожидал такой подставы и кучи потраченного времени. Уж на преобразователь даже не мог подумать. Все что угодно, и кривые руки, и провода, и плата, и чип....


Вложения:
UART_TEST.zip [27.69 Кб]
Скачиваний: 21
UART1.jpg
UART1.jpg [ 70.79 Кб | Просмотров: 2146 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 16 май 2017, 15:45 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Разница между двумя переходниками USB-UART в том, что у красненького, на фото выше, есть диоды на прием и передачу. У зелененького их нет. Возможно, именно эти диоды и вносили свою лепту в формирование сигнала. Т.к. в обоих переходниках чипы одинаковые и неоднократно проверенные в работе на разных устройствах. Возможно, как вариант, проблема в пайке. Но чисто визуально этого не заметно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 19 май 2017, 05:26 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Вывод в порт конечно работает и все бегает. Но тут подошел к тому, что вывод иногда удобнее делать форматированным, с использованием
printf(). Но не тут-то было. Если раньше в AVR подключалась просто библиотека в линковщик, то для SAMD как-то не все так просто. Какой-то тупик. Видать надо линковщику указать вместо стандартной библиотеки какую-то другую. Попробовал добавить --specs=nosys.specs . Но результат тот же. Скорее всего надо еще указать направление вывода, типа поток либо USART. Можно конечно попробовать обмануть через fprinf(), но не уверен что получится. Казалось бы, обычные функции которые использовались постоянно, а тут.. все не так. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAMD21 без ASF
СообщениеДобавлено: 20 май 2017, 01:59 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 мар 2012, 16:18
Сообщения: 112
Вопрос снят. Решен дедовским способом без заморочек. Все выводится и форматируется. Этого функционала достаточно, чтобы выводить необходимую информацию в UART или на LCD, или файл и т.д.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB