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

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

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

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

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

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


 
Опции темы
Непрочитано 03.11.2014, 19:36  
Mike121234
Вид на жительство
 
Аватар для Mike121234
 
Регистрация: 02.04.2008
Адрес: Ленинград
Сообщений: 346
Сказал спасибо: 67
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
Mike121234 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Hives Посмотреть сообщение
Mike121234 регистры DBGMCU, в референсе раздел 32
Спасибо. посмотрю.
Действительно так просто.
Реклама:
Mike121234 вне форума  
Непрочитано 14.11.2014, 18:17  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Изменить значение пина в ШИМ-режиме

Вот уже сколько бьюсь, никак не могу понять логику!
Хочу использовать таймер в режиме ШИМ для работы с 1-wire (еще я использую ШИМ для тактирования драйверов шаговиков и там возникает подобная проблема), но между режимами активности необходимо иметь строго фиксированное значение на выходе: 1 (соответственно, для тактирования ШД это 0).
С 1-wire уже замучился! Чего только ни делал, бесполезно!

Если просто ногодрыгом ставить значение после отключения таймера, получается лажа - бесполезно.
Если сделать так:
Код:
TIM2_CCER &= ~TIM_CCER_CC4P;
TIM2_CR1 &= ~TIM_CR1_CEN;
т.е. установить "полярность" в высокий уровень и затем сразу отрубить таймер, то значение устанавливается в 1, однако, при инициализации это не работает: т.е. до первого вызова таймера значение остается в нуле!!!

У меня, конечно, терпение хорошее, но чует мое сердце, что пошлю я в одно место эту идиотскую идею и вернусь к 1-wire на USART с DMA.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 14.11.2014, 23:42  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

eddy,
1Wire через uart - forever!
С таймером же есть режим OPM, когда он сам останавливается и на выходе уровень в соотвествии с запрограммированной полярностью.
Ну был еще кажись режим Fast enable, когда лень ждать конец цикла и можно руками поменять уровень.
Про первый вызов таймера. Не всё ли равно что было до этого? Ведь Reset сбрасывает девайсы и они начинают с читстого листа.
uk8amk вне форума  
Непрочитано 14.11.2014, 23:43  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Растолкуйте пожалуйста, не могу точно понять следующее:

Цитата:
Battery backup domain
Warning: During tRSTTEMPO (temporization at VDD startup) or after a PDR is
detected, the power switch between VBAT and VDD remains connected
to VBAT
.
During the startup phase, if VDD is established in less than tRSTTEMPO
(Refer to the datasheet for the value of tRSTTEMPO) and VDD › VBAT +
0.6 V, a current may be injected into VBAT through an internal diode
connected between VDD and the power switch (VBAT).
If the power supply/battery connected to the VBAT pin cannot support
this current injection, it is strongly recommended to connect an
external low-drop diode between this power supply and the VBAT pin.
При слишком быстром появлении питания внутренний ключ навсегда остаётся открытым или же закрывается после tRSTTEMPO?
uk8amk вне форума  
Непрочитано 08.12.2014, 18:15  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Добрый день. Сейчас пробую работать с контроллером экрана SSD1298 все настроил, все хорошо. Но выводить картинки (фон, кнопки и т.д.) хочу попробовать через ДМА в режиме memory to memory. В даташите прочитал, что так может работать только ДМА2. (МК - stm32f407vg)
Пробую так:
Код:
/* DMA2 Stream1 channe1 configuration **************************************/
  DMA_InitStructure.DMA_Channel =DMA_Channel_1;  
  DMA_InitStructure.DMA_PeripheralBaseAddr =(int32_t)&image_data_Image;
  DMA_InitStructure.DMA_Memory0BaseAddr =	(uint32_t)0x6F010000;
  DMA_InitStructure.DMA_DIR =DMA_DIR_MemoryToMemory;
  DMA_InitStructure.DMA_BufferSize =65535;
  DMA_InitStructure.DMA_PeripheralInc =DMA_PeripheralInc_Enable;
  DMA_InitStructure.DMA_MemoryInc =DMA_MemoryInc_Disable;
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
  DMA_InitStructure.DMA_Mode =DMA_Mode_Normal;
  DMA_InitStructure.DMA_Priority =DMA_Priority_High;
  DMA_InitStructure.DMA_FIFOMode =DMA_FIFOMode_Disable;
  DMA_InitStructure.DMA_FIFOThreshold =DMA_FIFOThreshold_HalfFull;
  DMA_InitStructure.DMA_MemoryBurst =DMA_MemoryBurst_Single;
  DMA_InitStructure.DMA_PeripheralBurst =DMA_PeripheralBurst_Single;
  DMA_Init(DMA2_Stream1, &DMA_InitStructure);
	
  DMA_Cmd(DMA2_Stream1, ENABLE);
Но отрисовывает только один раз, если я экран очищу и еще раз проведу инициализацию и старт то поток уже не стартует. Подскажите как повторно запустить передачу DMA?
swat24 вне форума  
Непрочитано 08.12.2014, 19:52  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Вначале дождаться окончания передачи, выключить канал и на отключенном изменять настройки. Потом снова включить
niXto вне форума  
Сказали "Спасибо" niXto
swat24 (08.12.2014)
Непрочитано 08.12.2014, 20:09  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Завтра попробую. А настраивать повторно можно только количество элементов для передачи? Остальное не меняется?
swat24 вне форума  
Непрочитано 09.12.2014, 08:01  
gks5
Прописка
 
Регистрация: 31.10.2006
Сообщений: 149
Сказал спасибо: 15
Сказали Спасибо 46 раз(а) в 35 сообщении(ях)
gks5 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от swat24 Посмотреть сообщение
повторно запустить передачу DMA
Имхо, есть два способа:
1 - DMA_Mode_Сircular;
2 - как уже рекомендовал niXto. Достаточно переустановить DMA_BufferSize (CNDTR). При DMA_Mode_Normal он обнуляется при передаче. Можно делать это в DMA2_Channel1_IRQHandler.
Как-то так:
Код:
  DMA_Cmd(DMA_Rx, DISABLE);
  DMA_Cmd(DMA_Tx, DISABLE);
  DMA_Rx-›CNDTR = xyz;
  DMA_Tx-›CNDTR = xyz;
  DMA_Cmd(DMA_Rx, ENABLE);
  DMA_Cmd(DMA_Tx, ENABLE);

Последний раз редактировалось gks5; 09.12.2014 в 10:08.
gks5 вне форума  
Сказали "Спасибо" gks5
swat24 (09.12.2014)
Непрочитано 09.12.2014, 10:42  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от gks5 Посмотреть сообщение
1 - DMA_Mode_Сircular;
Такой режим не подойдет. При режиме память-память режимы работы Circular и direct не разрешены(стр 310 референс мануала).
Остановку сейчас попробую, я вчера пробовал перенастраивать, но без выключения модуля.
Плохо, что только 16 бит счетчик для передачи. Придется бить на две посылки (при условии заливки всего экрана). А если бить - то это ждать пока закончит работать первый поток отрисовки...
А скажите правильно я понимаю, что лучше выводить изображения из памяти на ЛСД через ДМА без использования МК? И как вариант еще хочу попробовать делать буфер во внешней СРАМ и из него выводить (и то и то висит на FSMC). Возможен ли поочередный доступ к внешней СРАМ если поставить передачу на экран через ДМА на таймер, а кадр подготавливать уже МК или напрямую или так же через ДМА? По идее если настроить таймер на отображение 50 кадров в секунду, то все остальное время можно будет работать с памятью без проблем.

Так, получилось отрисовывать картинку, пока только одну. Беру два потока - первый передает половину кадра с начала, второй вторую половину со смещением от начала. Делаю так -
Код:
(uint32_t)&image_data_Image+(0x9600*2);
0x9600 - половина размерности массива.

Последний раз редактировалось swat24; 09.12.2014 в 16:17.
swat24 вне форума  
Непрочитано 16.12.2014, 17:18  
serb-radio
Гражданин KAZUS.RU
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Добрый день! Может кто-нибудь подскажет: контроллер stm32f103vet6 (100 ног) не работают линии портов PE6 и PD3 как линия общего назначения (пинодрыг). Может при ините портов чего то не то, или что то недопрописал. Спасибо!
Вложения:
Тип файла: rar firmware.rar (3.08 Мб, 41 просмотров)
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


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


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