Ты о выхлопе в порт через DMA ? Смотри не все камни способны...
А, дошло ты про это - http://kazus.ru/forums/showpost.php?...16&postcount=6
Ты о выхлопе в порт через DMA ? Смотри не все камни способны...
А, дошло ты про это - http://kazus.ru/forums/showpost.php?...16&postcount=6
Последний раз редактировалось dosikus; 28.04.2014 в 14:45.
ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
Profi 1024+CF+CPM+VGA
ATARI 800XL+SIO2PC+SIO2SD
RK86@Maximite
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
alx32, Алекс а это не ты ли был на изиэлектроникс ?
ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
Profi 1024+CF+CPM+VGA
ATARI 800XL+SIO2PC+SIO2SD
RK86@Maximite
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
...Александр... Да... заглядываю иногда...
Последний раз редактировалось alx32; 28.04.2014 в 15:01.
Нет, проще - тыц!
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Дискавери разгонять бесполезно ... Там разводка ужасна ... На ней только двойной клок на флешку прокатит "Flash Latency". Качественная разводка на STM32F100, прекрасно даёт 64 мегагерца. У нас компания по тысячу девайсов выпускают с моим софтом и разводкой, ниодного отказа, хотя всё разогнано по максимуму. Стастистика уже как минимум два года. Смысл разводки очень прост, под контроллером делается подложка питания по д всем корпусом, и такая же подложка с обратной стороны текстолита для земли, вплотную к ногами питания ядра и портов вешаются конденсаторы к земле на 0.1 микрофараду и никаких проблем с разгоном. Ни на одной дискавери 64 мегагерца я не получал, в лучшем случае 48 мегагерц. Самый шик это вариант без Flash Latency но на 64 мегагерца, тогда можно наружу руками делать скорость пинов 500 наносекунд в софтовом режиме, и разгонять DMA, SPI и SSP.
С контроллерами VL, такая же история. Всё упирается в разводку. Я не помню какое именно значение было, и было ли это 72 мегагерца, но помню, что быстрее паспортной гарантировано работало ...
AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.
Хорошист, ULink вещь в себе - только Keil .
Тебе и набортного STLink хватит .
Если хочешь есть клоны JLink
http://www.aliexpress.com/store/prod...621593984.html
Дешево и сердито . Шьет до хрена чипов, поддерживается многими IDE .
Сам имею такой, хочу второй прикупить.
Если будешь только STM8/32 и с питанием только 3.3v, то и огрызка STLink за глаза -
http://www.aliexpress.com/item/DIY-S...615278383.html
Это программаторы/отладчики . Если нужно только шить -хватит и преобразователя USB -USART, например на FT232 ...
Последний раз редактировалось dosikus; 28.04.2014 в 18:13.
ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
Profi 1024+CF+CPM+VGA
ATARI 800XL+SIO2PC+SIO2SD
RK86@Maximite
Хорошист, личку посмотри ...
ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
Profi 1024+CF+CPM+VGA
ATARI 800XL+SIO2PC+SIO2SD
RK86@Maximite
Копаю таймеры.
Взял в качестве подопытного Таймер2. Обычный такой, 16-разрядный, общего назначения.
Запилил на нем мыргание светика раз в секунду.
В общем случае инициализация и запуск таймера выглядит так -
NVIC_EnableIRQ(TIM2_IRQn); //Запускаем контроллер прерываний, прицепляем к нему Таймер2.
RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; //Подаем клок на Таймер2, он болтается на АРВ1.
TIM2->PSC = 16000-1UL; // Делитель на входе таймера. Делит до 65536 при желании. У нас частота, приходящая на АРВ1 - 16Мгц, поэтому делим на 16000.
TIM2->ARR = 1000-1UL; // До скольки считает таймер. Типа TCNT на AVR... При значении 1000 мы получаем прерывания 16000000/16000/1000 = 1 прерывание в секунду.
TIM2->DIER = TIM_DIER_UIE; // Включим прерывания от события update. Т.е., по достижению счета до ARR, происходит апдейт счетчика, и это событие инициирует прерывание.
TIM2->CR1 = TIM_CR1_CEN; // Собственно, включаем таймер2.
TIM2->CNT = 0; // Сбросим текущее значение таймера в 0, пускай считает дальше сам.
Для ловли прерывания от таймера используем дежурную функцию -
Как бы и всё...Код:void TIM2_IRQHandler(void) { if(TIM2->SR & TIM_SR_UIF) { TIM2->SR &= ~TIM_SR_UIF; //сброс флага прерывания, иначе его зациклит. } //обработчик прерывания }
Пойду дальше разбираться.
Последний раз редактировалось Ewgeny7; 29.04.2014 в 12:19.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)