Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 29.10.2014, 15:25  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

Сообщение от dosikus Посмотреть сообщение
dma_set_peripheral_size(DMA1, DMA_CHANNEL7, DMA_CCR_PSIZE_16BIT);
dma_set_memory_size(DMA1, DMA_CHANNEL7, DMA_CCR_MSIZE_32BIT);
Изумительно , а мы гадаем ....
Ну так tim2_buff имеет тип uint32_t! До этого делал uint16_t, получалась хрень какая-то. Хотя, можно попробовать отключить выравнивание...

Сделал массив восьмибитным, сменив размер на DMA_CCR_MSIZE_8BIT - та же история: сначала 2 последних байта, потом первые.

Прикола ради забульбенил вот это:
Код:
uint8_t tim2_buff[8] = {30,40,50,60,70,80,10,20};
Показывает по порядку: 10, 20... Мде...
Реклама:
__________________
Союз Советских Социалистических Округов Северной Америки

Последний раз редактировалось eddy; 29.10.2014 в 15:34.
eddy вне форума  
Непрочитано 29.10.2014, 15:50  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

Сколько бы байт я не передавал, сначала передаются два последних, а потом уже с начала массива...
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 29.10.2014, 16:26  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

Вот блин!
Пошла лесом моя идея ☹
Для того, чтобы через DMA делать захват, мне нужно подключать связанный с четвертым каналом таймера 2 канал 3. А он висит на канале 1 DMA, который уже занят АЦП ☹

Вот что за [censored]?! Почему так мало DMA в STM32? Могли бы на каждую хрень свой канал выделить... А так получается, что приходится выбирать. И если надо, скажем, SPI и USART делать через DMA, придется следить, чтобы это не были, скажем, SPI1 и USART3, висящие на одном канале DMA!

Вот же срака!!!

А кто-то мне хвастался на изиэлектрониксе, что реализовал аппаратный 1-wire ... Видимо, у него не было такой нехватки каналов DMA. Или ног было много свободных, чтобы захват делать другим таймером.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 29.10.2014, 20:37  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

Решил чередовать работу с АЦП и 1-wire (т.е. нужный канал ПДП подключать туда-сюда). Захват с горем пополам настроил.
Вот же чертовщина! DMA по захвату практически идеально соответствует картинке на осциллограмме.
А вот выхлоп — хрена с два! Первый вообще интересный: 0 10 20 30 40 50 60 70. Далее 70 80 10 20 30 40 50 60, но бывают и 63 70 80 80 80 80 80 80 (изредка).
И упорно не хочет выход устанавливаться в единицу по окончанию работы.
Вот же япона мать!
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 29.10.2014, 20:40  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

Да скачай игровую прошивку, поставь её на свой модем и посмотри в ней отладчиком, что творится в чипе... 10 минут на всё... В Виндах дебаггер прекрасно работает... К чему эти Линукс-понты и мужественное сражение с ветряными мельницами
niXto вне форума  
Непрочитано 29.10.2014, 20:57  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

eddy, А обработчик NVIC_TIM2_IRQ где ?
И где приоритеты ?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 29.10.2014, 21:05  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

Сообщение от dosikus Посмотреть сообщение
А обработчик NVIC_TIM2_IRQ где ?
Этого прерывания нет, т.к. оно не нужно.
Прерывание DMA1_7 просто отрубает DMA (это передача из буфера в CCR4), а прерывание DMA1_1 отрубает этот канал ПДП + вырубает таймер + устанавливает на выходе высокий уровень (но что-то он не устанавливается).

Позже могу весь код выложить. Я просто пока не делаю коммит, т.к. нихрена не работает.

А приоритеты им разве нужны? Не пофиг ли?
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 29.10.2014, 21:06  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

niXto, в линуксе тоже gdb отлично работает. Я им просто не умею пользоваться. И не собираюсь учиться. И так дохрена времени на всякую фигню тратить приходится. Скоро, вот, выучу уже наизусть даташит на STM32F103 ☹
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 29.10.2014, 21:11  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

Сообщение от eddy Посмотреть сообщение
Этого прерывания нет, т.к. оно не нужно.
А зачем тогда разрешаешь и включаешь?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 29.10.2014, 21:38  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: STM32F103, непонятки с DMA

Сообщение от dosikus Посмотреть сообщение
А зачем тогда разрешаешь и включаешь?
А и правда. Включил зачем-то. Видимо, решил, что без этого не сработает пинание DMA.

Буду завтра разбираться. Наверняка, что-нибудь пропустил. Следует более вдумчиво прочесть даташит. Хотя, вроде бы, первый канал ПДП инициализируется почти так же, но работает правильно. А этот хрень какую-то делает. Такое впечатление, что DMA не всегда срабатывает (особенно когда было несколько байт подряд с одним и тем же значением, а прерывание с ошибкой так и не сгенерировалось).

Но аппаратный 1-wire очень хочется сделать.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32F103 ADC+DMA Nik_UFO Микроконтроллеры, АЦП, память и т.д 11 24.08.2016 11:57
STM32 - Tips 'N Tricks nahimovv ARM 8 08.08.2016 14:35
Tim19 -> DMA -> значение ADC в memory kvark85 ARM 6 03.06.2014 15:00
STM32 Повторный запуск DMA Nik_UFO Микроконтроллеры, АЦП, память и т.д 2 07.03.2012 17:38
DMA в ATxmega vav618 Микроконтроллеры, АЦП, память и т.д 1 03.04.2010 10:57


Часовой пояс GMT +4, время: 18:09.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot