Например TDA7294

Форум РадиоКот • Просмотр темы - AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на СИ
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт дек 12, 2025 16:25:49

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на СИ
СообщениеДобавлено: Пн окт 03, 2022 08:08:50 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 10
Зарегистрирован: Ср дек 08, 2010 19:03:17
Сообщений: 591
Рейтинг сообщения: 0
добрый день

Код:
- printf() c-version (no c++)
- no Arduino library
- arm-gcc toolchain & std library


т.к. контроллер относится к SAM, то "обычным" способом запустить печать не получилось
Код:
_FDEV_SETUP_WRITE was not declared in this scope

... ну кто-бы сомневался?! :о)

в инете нашел единственный вариант для SAM

sam printf
Simple print functions for Atmel SAM microcontrollers using DMA

в описании указан "наш чип" как протестированый
собирается без проблем (кроме варнингов, возможно следует присмотреться?!, undefined reference - это не хухры мурхры)
печать не работает (пробовал по разному)

варнинги (пути к тулчейну усечены, для удобства восприятия)
Спойлер
Код:
...
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-fstatr.o): in function `_fstat_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/fstatr.c:55: warning: undefined reference to `_fstat'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-isattyr.o): in function `_isatty_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/isattyr.c:52: warning: undefined reference to `_isatty'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-sbrkr.o): in function `_sbrk_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/sbrkr.c:51: warning: undefined reference to `_sbrk'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-writer.o): in function `_write_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/writer.c:49: warning: undefined reference to `_write'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-closer.o): in function `_close_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/closer.c:47: warning: undefined reference to `_close'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-lseekr.o): in function `_lseek_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/lseekr.c:49: warning: undefined reference to `_lseek'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-readr.o): in function `_read_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/readr.c:49: warning: undefined reference to `_read'
...


проект "перенесен" от сюда

sam3 Low Level prg-ing
Low level" programming of the Arduino DUE SAM3 controller with a custom IDE

в нем используются arduino-sam библиотеки
Код:
~/.arduino15/packages/arduino/hardware/sam/1.6.12


makefile немного подрихтовал под себя (библиотеки не копируются в каталог проекта, а используются "как-есть", установленные в систему

Спойлер
Код:
#///////////////////////////////////////////////////////////////////////////////
# arduino toolchain version's
#///////////////////////////////////////////////////////////////////////////////
ARD_SAM_VER = 1.6.12
ARD_ARM_VER = 4.8.3-2014q1
ARD_BOS_VER = 1.6.1

#///////////////////////////////////////////////////////////////////////////////
# arm toolchain version -> ~/dev.bin.arm/
#///////////////////////////////////////////////////////////////////////////////
#ARM_VER_DEF    = 5.2.1
#ARM_VER_DEF    = 11.2
 ARM_VER_DEF    = 11.3
#ARM_VER_DEF    = 12.2
 ARM_VER       ?= $(ARM_VER_DEF)

#TOOL_CHAIN_DEF = ARDUINO
#TOOL_CHAIN_DEF = ARM_DEF
 TOOL_CHAIN_DEF = ARM
 TOOL_CHAIN    ?= $(TOOL_CHAIN_DEF)

#///////////////////////////////////////////////////////////////////////////////
# post
#///////////////////////////////////////////////////////////////////////////////
ARD         = $(HOME)/.arduino15/packages/arduino
SAM         = $(ARD)/hardware/sam/$(ARD_SAM_VER)
SAM_SYS     = $(SAM)/system
...
INC += -I$(PRJ_DIR)/inc
INC += -I$(PRJ_DIR)/lib
INC += -I$(PRJ_DIR)/src
INC += -I$(SAM_SYS)/
INC += -I$(SAM_SYS)/libsam
INC += -I$(SAM_SYS)/libsam/include
INC += -I$(SAM_SYS)/CMSIS/CMSIS/Include
INC += -I$(SAM_SYS)/CMSIS/Device/ATMEL
#
INC += -I$(SAM)/cores/arduino
...
#///////////////////////////////////////////////////////////////////////////////
# Toolchain: ARM | Arduino & Include
#///////////////////////////////////////////////////////////////////////////////
ifeq ($(TOOL_CHAIN),ARM_DEF)
_P    = /usr/bin/arm-none-eabi-
else
ifeq ($(TOOL_CHAIN),ARM)
_P    = $(HOME)/dev.bin.arm/$(ARM_VER)/bin/arm-none-eabi-
else
_P    = $(ARD)/tools/arm-none-eabi-gcc/$(ARD_ARM_VER)/bin/arm-none-eabi-
endif
endif

#BOSSA = $(ARD)/tools/bossac/$(ARD_BOS_VER)-arduino/bossac
BOSSA = bossac

AR    = $(_P)ar
CC    = $(_P)gcc
CXX   = $(_P)g++
AS    = $(_P)as
NM    = $(_P)nm
LKELF = $(_P)g++
OBJCP = $(_P)objcopy
SIZE  = $(_P)size
STRIP = $(_P)strip


toolchain пробовал разные версии
Код:
arm-none-eabi
- 11.2
- 11.3
- 12.2
- 5.2.1


так-же arduino-toolchain
Код:
~/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-XXX


версия toolchain выбирается установкой
Код:
TOOL_CHAIN_DEF = ARDUINO
TOOL_CHAIN_DEF = ARM_DEF
TOOL_CHAIN_DEF = ARM


p.s.
понимаю, что можно взяться разгрызать
- реализацию класса Arduino-Due/Serial.xxx
- реализацию стандартной печати в asf-library

и то и другое, понятное дело, работает, но хотелось-бы пока разобраться с данной библиотекой

как обычно, принимаются любые идеи/ссылки/советы по делу, помидоры в разумных количествах, можно просто побалагуить... но, желательно в тему :о)

!!! ADD !!!
ТЕСТИРОВАЛ ЭТУ И МНОГИЕ ДРУГИЕ ПОДОБНЫЕ БИБИЛИОТЕКИ, НИ ОДНА НЕ РАБОТАЕТ
УТОЧНЯЮ - КОНТРОЛЛЕР SAM3X8E


спасибо

#tag: avr atmel arduino due printf c arm-gcc asf

_________________
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...


Последний раз редактировалось sunjob Вт окт 04, 2022 05:53:16, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 08:37:58 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 3
На Си для микроконтроллеров завсегда применялся sprintf, принимающий конкретный указатель на буфер для сформированной строки.
DMA тут как бы и не при делах, ибо задача sprintf - только сформировать текстовую строку, а отправить её куда-либо - это уже другая зона ответственности, так сказать..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 09:22:09 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 10
Зарегистрирован: Ср дек 08, 2010 19:03:17
Сообщений: 591
Рейтинг сообщения: 0
продолжай! как это поможет "отцу русской демократии"? :о)

_________________
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 09:48:04 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15285
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Жаль такой платки в наличии нету...
Обычно проблем с выводом на терминал у адуринок (в том числе и на платформах STM32) не имеется...
Может с установкой самой платформы чего не так или с выборкой варианта применения - там и последовательных портов больше и их разновидностей...
:dont_know:


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 10:19:51 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1267
Рейтинг сообщения: 0
MLX90640 писал(а):
На Си для микроконтроллеров завсегда применялся sprintf

Подтяни свои скилы и начни использовать printf(). :)))

Подсказка: printf() может быть буферизован и использовать алгоритм Нэйгла для выдачи информации на устройство её отображения.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 10:41:22 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 0
Мои скилы находятся на достаточном уровне для того, чтобы самостоятельно написать буферизацию, ибо printf - это не только вывод в терминалку, но и формирование текста для отображения на дисплее. Стандартного порта вывода в МК нет, поэтому программист сам определяет направление вывода текста.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 12:25:19 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 10
Зарегистрирован: Ср дек 08, 2010 19:03:17
Сообщений: 591
Рейтинг сообщения: 0
datasheet cut

34. Universal Asynchronous Receiver Transceiver (UART)
34.1 Description

The Universal Asynchronous Receiver Transmitter features a two-pin UART that can be used for communication and trace purposes and offers an ideal medium for in-situ programming solutions. Moreover, the association with two peripheral DMA controller (PDC) channels permits packet handling for these tasks with processor time reduced to a minimum.

35. Universal Synchronous Asynchronous Receiver Transmitter (USART)
35.1 Description

The USART supports the connection to the Peripheral DMA Controller, which enables data transfers to the transmitter and from the receiver. The PDC provides chained buffer management without any intervention of the processor.

_________________
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 13:13:08 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
MLX90640, все правильно пишет.
Получаете форматированный текст функцией sprintf или аналогичной и делаете с ним что хотите. Хоть в USART через DMA передавайте.

Библиотеки ардуины выбросьте!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 16:15:45 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 0
Посмотрел файл print.c по ссылке. Тьфу ты блин! Я то думал, речь шла о стандартной сишной функции printf, которая капец какая навороченная и использует стандартный буфер вывода. Но тут оказалось всё настолько банально и примитивно, что прям ну ваще, как там можно было запутаться то в трех березах то? Обычные самописные функции преобразования целого числа в текстовую ANSI-строку и передача этой строки в функцию отправки по UART-у с кольцевым буфером.
Просто скопируйте текст функций в чистый файл и скомпилируйте.
Следует различать стандартный printf и самописный print.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 17:47:18 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1267
Рейтинг сообщения: 0
Мурик писал(а):
Получаете форматированный текст функцией sprintf

Если используется стандартная библиотека ввода-вывода языка Си, на что указывает использование sprintf(), то логичным будет реализация обработки вызовов _read(),_write() и иже с ними, что позволит осуществлять ввод-вывод хоть куда, используя все функции файлового ввода-вывода, в том числе и printf(), которая обычно является обёрткой для fprintf( stdout, ...). И тогда будут не нужны промежуточные представления выводимых строк.
В GCC, например, библиотека резервирует место под 20 файловых дескрипторов, из которых сама использует только 3, оставляя пользователю 17.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Пн окт 03, 2022 19:02:51 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 0
Скажем так... в условиях микроконтроллеров далеко не всегда нужны методы "больших компутеров", поэтому нередко используют облегченные варианты вывода, необходимые в конкретном случае. В честности, при отправке по УАРТу в большинстве случаев нужно "здесь и сейчас". А при отрисовке на дисплее может потребоваться либо вывод одного-двух чисел, либо формирование всего кадра, да еше и вместе с графикой. В таких случаях лучше вручную управлять процессом вывода в конкретной ситуации. Ну а если семисегментный индикатор, там вообще достаточно самописного легкого преобразования числа в цифры по знакоместам.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Вт окт 04, 2022 05:50:04 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 10
Зарегистрирован: Ср дек 08, 2010 19:03:17
Сообщений: 591
Рейтинг сообщения: 0
Библиотеки ардуины выбросьте!

повторение... мать учения... :))
Цитата:
- printf() c-version (no c++)
- no Arduino library
- arm-gcc toolchain & std library

может я не туда написал, но это условие присутствует... :beer:

Добавлено after 5 minutes 8 seconds:
... и делаете с ним что хотите. Хоть в USART через DMA передавайте

с этим и проблемы... через регистры пока на получается...
по идее нужно "стандартно" переопределить функцию "put(),_read(),_write()... etc", и далее все "стандартно" ... 8)

Добавлено after 28 minutes 42 seconds:
Просто скопируйте текст функций в чистый файл и скомпилируйте.
Следует различать стандартный printf и самописный print.

ну не надо считать себя самым умным котом! :))) чай не дураки тут шерсть чешут и просто тусуются :beer:

если "это" не подразумевается как "само собой" то пишу явно :
ТЕСТИРОВАЛ ЭТУ И МНОГИЕ ДРУГИЕ ПОДОБНЫЕ БИБИЛИОТЕКИ, НИ ОДНА НЕ РАБОТАЕТ
УТОЧНЯЮ - КОНТРОЛЛЕР SAM3X8E

с обычным avr контроллером (328-2560) - вопросов нет

в данном топике слово "Arduino-Due" используется как указатель чипа/прототипа (а не саму манда-рино "среду/библиотеки/ide")

спасибо

_________________
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Вт окт 04, 2022 13:42:16 
Родился

Зарегистрирован: Сб окт 10, 2020 10:40:26
Сообщений: 3
Рейтинг сообщения: 0
ТЕСТИРОВАЛ ЭТУ И МНОГИЕ ДРУГИЕ ПОДОБНЫЕ БИБИЛИОТЕКИ, НИ ОДНА НЕ РАБОТАЕТ


Вы абсолютно уверены в том, что не работает только библиотека? Все остальные "нижележащие" механизмы работают? А именно:
1) По ссылке из первого поста на используемую библиотеку есть необходимые шаги для настройки этой самой библиотеки. Вы выполнили их все (8 пунктов)? Никакого пояснительного кода в первом сообщении по этому поводу от вас не было.
2) Вы уверены в электрической работоспособности пинов, на которые выведен UART? Т.е. вы загружали тестовый код "моргания" ножками, и с помощью осциллографа/вольтметра/светодиода удостоверились, что выдача сигнала есть, и она корректна?
3) Вы удостоверились в работе UART? Т.е. вы загружали тестовый код, в котором корректно настраивали GPIO (для работы пинов в режиме коммутации к UART), тактирование (для корректного задания бод-рейта) и собственно сам UART (включение/тактирование внутренних узлов/четность/стоп-биты/и т.д.), после чего циклически посылали 1 байт и отслеживали его (через осциллограф/лог.анализатор/преобразователь UART-USB и терминал на компьютере)?
4) Вы удостоверились в работе DMA? Т.е. после успешного выполнения предыдущего пункта вы внимательно изучили мануал на ваш контроллер, зашили тестовую прошивку из предыдущего шага, но настройкой соответствующего канала DMA, которая циклически отсылает пакет из нескольких байт, и также успешно отследили его?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Вт окт 04, 2022 17:52:35 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 0
Azeront, у него не собирается проект, так что до работоспособности железа тут еще далеко.
Топикстартеру следует создать чистый Си-проект с этим МК, ничего не добавляя в проект и попробовать собрать. При успешной сборке продолжить дальше и написать
Код:
#include <stdio.h>
int main(void)
{
    printf("0123");
    while(1);
}

и проверить сборку. Если успешно, тогда "дело было не в бобине". Если с ошибками, тогда что-то с совместимостью и косяком в IDE, либо проблема в неверной настройке проекта.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Ср окт 05, 2022 12:50:00 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 10
Зарегистрирован: Ср дек 08, 2010 19:03:17
Сообщений: 591
Рейтинг сообщения: -2
> у него не собирается проект
приколный ты, полосатый! цепь и дуб уже приобрел?!

_________________
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Ср окт 05, 2022 13:18:52 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 0
Чёт не понял смысла этих слов. Всё ещё не отпустило штоль?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Чт окт 06, 2022 07:22:36 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 10
Зарегистрирован: Ср дек 08, 2010 19:03:17
Сообщений: 591
Рейтинг сообщения: -2
> не понял смысла этих слов
потому как шибко ученый, по цепи ходишь вокруг дуба и сказки налево и направо гутаришь... (учите классику, и меньше фантазируйте)

> у него не собирается проект
это из каких таких сказочных мыслей вывод сделали?!

> Всё ещё не отпустило штоль?
это вы правильный вопрос задали себе ...
если что по делу - пишите, а так общайся сам с собой, зеркало имеется у хозяина?! :о)

> Топикстартеру следует создать чистый Си-проект с этим МК
не видишь разницу между стандартной реализацией и PDC/DMA?
естественно вылезут анрезолвы _put_/_write_, но это из другой оперы.

Azeront, спасибо, первые 3 пункта можно было опустить сразу :о), затык сейчас с DMA (нормальная работа пока только в asf, пытаюсь сделать без нее)

_________________
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Чт окт 06, 2022 08:31:45 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 1
Странный этот sunjob. Сам себе придумал проблему на пустом месте, со стандартным именем printf, чисто для ЧСВ.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR Atmel SAM3x8E / Arduino Due - реализация pritnf() на
СообщениеДобавлено: Чт окт 06, 2022 18:39:22 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 10
Зарегистрирован: Ср дек 08, 2010 19:03:17
Сообщений: 591
Рейтинг сообщения: -5
ув. MLX90640! поакуратнее на поворотах... :sleep:
а вот
Цитата:
Странный этот sunjob
правильно, значит все таки послушался, взял у хозяина зеркало, общаешься... молодец!
реализуй работу ком-порта через DMA - будешь вообще умничка и хоть за тешься ЧСВ :shock:
я первый отдам тебе на царапки свои любимые хозяйские тапочки

исходные
- sam3x8e
- no asf library
- no printf and std
- DMA/PDC

уточняю, обычная asf-реализация работает без проблем, нужно низкоуровневый вариант через DMA (например, указанная бибилотека)

если по делу нечего... то лучше царапками займитесь, на кухне чашками, проверьте лоток, мышку под шкафом... столько дел еще не переделанных :)))

p.s. ай молотцы, нашЛепали! :))) :))) :))) кроме минусов еще что-нить можем? :facepalm:

DMA заработал!
Код:
////////////////////////////////////////////////////////////////////////////////
void uart_ini_baud(int32_t baud)
////////////////////////////////////////////////////////////////////////////////
{
//###!!!
// direct access to PIO
//###!!!
PIOA->PIO_IDR   =   PIO_PA8A_URXD | PIO_PA9A_UTXD;
PIOA->PIO_PDR   =   PIO_PA8A_URXD | PIO_PA9A_UTXD;
PIOA->PIO_ABSR &= ~(PIO_PA8A_URXD | PIO_PA9A_UTXD) & PIOA->PIO_ABSR;
PIOA->PIO_PUER  =   PIO_PA8A_URXD; // | PIO_PA9A_UTXD;

PMC->PMC_WPMR       = 0x504D4300;
PMC->PMC_PCER0      = (1 << PF_ID_UART);
PMC->PMC_WPMR       = 0x504D4301;
PF_UART->UART_CR    = UART_CR_RXDIS | UART_CR_TXDIS | UART_CR_RSTRX | UART_CR_RSTTX | UART_CR_RSTSTA;
PF_UART->UART_BRGR  = (MCLK / baud / 16);
PF_UART->UART_MR    = UART_MR_PAR_NO  | UART_MR_CHMODE_NORMAL;
PF_UART->UART_PTCR  = UART_PTCR_RXTEN | UART_PTCR_TXTEN;
PF_UART->UART_CR    = UART_CR_RXEN    | UART_CR_TXEN;
}
////////////////////////////////////////////////////////////////////////////////

всем спасибо :)))

_________________
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...


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

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


Кто сейчас на форуме

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


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y