Переключение портов SWDIO

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 16, 2015 13:08:53

Сообщение Бубоник »

Всем доброго времени суток. Столкнулся с такой проблемой. Как мне переключить пины swdio на ввод вывод. Почитал документацию про пины PA13 PA14 их надо программно перевести на альтернативную функцию, пытался, но МК никак не хочет их включать (видать криво пытался). Пишу код под "micro C pro"
P.S. Любителей писать под "micro C pro" в инете не так уж и много.... :(
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Бубоник писал(а):пытался, но МК никак не хочет их включать
Без кода сложно сказать в чем дело.
Бубоник писал(а):Пишу код под "micro C pro"
Я бы еще понял если бы писали в mikroPaskal или mikroBasic, но какой смысл писать в mikroC? Есть много других компиляторов Си для STM32.
Реклама
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 16, 2015 13:08:53

Сообщение Бубоник »

Вот код.

Код: Выделить всё

sbit _50hz at GPIOA_ODR.B12;
sbit triac at GPIOA_ODR.B13;
//IVT_INT_TIM1_BRK_UP_TRG_COM

void Timer_16() iv IVT_INT_TIM1_TRG_COM_TIM17 ics ICS_AUTO
{ UIF_TIM17_SR_bit=0;
triac=!triac;
}


void Timer_17() iv IVT_INT_TIM1_UP_TIM16 ics ICS_AUTO
{ UIF_TIM16_SR_bit=0;
//triac=!triac;
}

/// RCC_HSEConfig(RCC_HSE_ON); // Enable HSE
void main() {
// GPIO_Alternate_Function_Enable(&_GPIO_MODULE_SWJ_JTAGDISABLE);
 //GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, 1); // Disable JTAG/SWD so pins are availble
GPIO_Digital_output(&GPIOA_BASE, _GPIO_PINMASK_12);//âûõîä íà øàãîâèê
GPIO_Digital_output(&GPIOA_BASE, _GPIO_PINMASK_13);//âûõîä íà øàãîâèê
GPIO_Config(&GPIOA_BASE, _GPIO_PINMASK_13,
            _GPIO_CFG_MODE_OUTPUT | _GPIO_CFG_DIGITAL_OUTPUT);





RCC_APB2ENR.TIM17EN = 1; //
TIM17_CR1.CEN = 0; //
//UIF_TIM14_SR_bit=0;
TIM17_PSC = 1000; // Prescale 16_bit
TIM17_ARR = 8000; // Reload 16_bit
NVIC_IntEnable(IVT_INT_TIM1_TRG_COM_TIM17); // Enable Interupt
TIM17_DIER.UIE = 1; //
TIM17_CR1.CEN = 1; //


RCC_APB2ENR.TIM16EN = 1; //
TIM16_CR1.CEN = 0; //
//UIF_TIM14_SR_bit=0;
TIM16_PSC = 1000; // Prescale 16_bit
TIM16_ARR = 8000; // Reload 16_bit
NVIC_IntEnable(IVT_INT_TIM1_UP_TIM16); // Enable Interupt
TIM16_DIER.UIE = 1; //
TIM16_CR1.CEN = 1; //
triac=1;
_50hz=0;
 while(1)
 {

 delay_ms(100);
 }
}
А то что у меня пала рука на этот компилятор просто из-за того, что под подобным компилятором я пишу прошивки под PIC. Просто уже привык к нему, да и проблем как бы с ним не было.
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Бубоник писал(а):А то что у меня пала рука на этот компилятор просто из-за того, что под подобным компилятором я пишу прошивки под PIC.
Продукция микроэлектроники получилась неудачной для ARM. Библиотеки неудобные в использовании.
Лучше возьмите бесплатную IDE с компилятором GCC.
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Сообщения: 478
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Сообщение Galizin »

Попробуйте явно перевести в output mode
GPIO port mode register (GPIOx_MODER) (x = A..F)
00: Input mode (reset state)
01: General purpose output mode
10: Alternate function mode
11: Analog mode

То есть в режим 01.
Типа того
GPIOA->MODER &= ~(GPIO_MODER_MODER14|GPIO_MODER_MODER13);
GPIOA->MODER |= (GPIO_MODER_MODER14_1|GPIO_MODER_MODER13_1);

Это если нужно на вывод. На ввод второй строки не надо.
ps это для stm32f030. Для f1xx все иначе.

http://radiokot.ru/forum/viewtopic.php?f=59&t=132299 - аналогичная тема .
Реклама
Потрогал лапой паяльник
Сообщения: 315
Зарегистрирован: Чт ноя 29, 2012 08:27:22

Сообщение pixar »

Учтите , что в отладку потом можно зайти только из хард ресет , в коиде и кейле есть выбор в отладчике .
Нужно иметь вывод сброса на плате.
Реклама
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 16, 2015 13:08:53

Сообщение Бубоник »

Учтите , что в отладку потом можно зайти только из хард ресет
Про это я читал. Что некоторые потом зашить не могли или еще какая нибудь петрушка. В общем пока у меня горит на счет этого. Придется помаленьку переходить другие IDE имхо тяжело найти что-то полезное под microc. Все таки хочется полностью управлять МК чтоб в дальнейшем проблем меньше с ним было.
Потрогал лапой паяльник
Сообщения: 315
Зарегистрирован: Чт ноя 29, 2012 08:27:22

Сообщение pixar »

лучше всего оставить SWD в покое.
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

А что так?
Вымогатель припоя
Аватара пользователя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Сообщение scorpi_0n »

pixar писал(а):лучше всего оставить SWD в покое.
Пины SWD как правило пустые по альтернативе. Повесить на них что-то второстепенное, сегменты дисплея например, а после отладки перевести пины в режим вывода. Для малоногих МК вполне себе вариант.
Потрогал лапой паяльник
Сообщения: 315
Зарегистрирован: Чт ноя 29, 2012 08:27:22

Сообщение pixar »

dosikus писал(а):А что так?
если серия и каждую копейку считать, то смысл есть.
если проект хобби , всегда лучше иметь ноги про запас.
я на tssop20 задействовал как то всё вплоть до swdio , потом огребал ништяков .
больше стараюсь не повторять.
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

pixar у меня в одном задействованы все пины , никаких "ништяков" не замечено. Все работает как и ожидалось...
Вымогатель припоя
Аватара пользователя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Сообщение scorpi_0n »

pixar писал(а): я на tssop20 задействовал как то всё вплоть до swdio , потом огребал ништяков .
больше стараюсь не повторять.
Ну и кто ж так делает? Разрабатывается и отлаживается на типа 051. И ног поболее и ресурса флэша. А в 030-й или в tssop20 запихивается когда уже всё готово.
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

На пинах SWD у меня были выходы . При отладке их не задействовал, отлаживал все остальное. Затем задействовал и пины с SWD ...
Ответить

Вернуться в «ARM»