<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=46&amp;t=18594&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-06-10T20:50:01+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=18594&amp;mode</id>
<entry>
<author><name><![CDATA[mopsiok]]></name></author>
<updated>2017-06-10T20:50:01+01:00</updated>
<published>2017-06-10T20:50:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18594&amp;p=190531#p190531</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18594&amp;p=190531#p190531"/>
<title type="html"><![CDATA[Re: STM32F0 - Tryb Alternate Function w STD (włączenie UARTu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18594&amp;p=190531#p190531"><![CDATA[
Echh, głupi błąd <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />. Dla potomnych - do GPIO_PinAFConfig podajemy numer pinu, a nie jego maskę. Tak więc po zamianie na GPIO_PinSource9 i GPIO_PinSource10 wszystko śmiga.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1371">mopsiok</a> — 10 cze 2017, o 20:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mopsiok]]></name></author>
<updated>2017-06-10T19:05:39+01:00</updated>
<published>2017-06-10T19:05:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18594&amp;p=190527#p190527</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18594&amp;p=190527#p190527"/>
<title type="html"><![CDATA[STM32F0 - Tryb Alternate Function w STD (włączenie UARTu)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18594&amp;p=190527#p190527"><![CDATA[
Cześć<br />Siedziałem trochę czasu na F103, po czym przytrafił mi się mały projekt do zrobienia na F0 (konkretnie F030F4). Wg informacji w datasheetach przepinanie peryferiów do pinów wygląda tu inaczej niż w F103. Na podstawie noty i exampla od ST próbowałem uruchomić UART, ale coś opornie mi to idzie. Na razie w ogóle odpuściłem przerwania i próbuję cokolwiek wysłać na zewnątrz, póki co bezskutecznie. Odrzuciłem przyczyny mechaniczne - gdy skonfiguruję piny jako zwykłe IO i macham, analizator normalnie wykrywa co trzeba.<br /><br />Tak wygląda moja funkcja konfiguracyjna:<br />[syntax=c]//debug UART - USART1<br />#define DEBUG_TX_Pin GPIO_Pin_9<br />#define DEBUG_TX_Port GPIOA<br />#define DEBUG_RX_Pin GPIO_Pin_10<br />#define DEBUG_RX_Port GPIOA<br /><br />void BSP_UART_Config(void) {<br />GPIO_InitTypeDef gpio;<br />USART_InitTypeDef uart;<br /><br />//clock config<br />RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);<br />RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);<br /><br />//gpio alternate function<br />GPIO_PinAFConfig(DEBUG_TX_Port, DEBUG_TX_Pin, GPIO_AF_1);<br />GPIO_PinAFConfig(DEBUG_RX_Port, DEBUG_RX_Pin, GPIO_AF_1);<br /><br />//gpio config<br />gpio.GPIO_Mode = GPIO_Mode_AF;<br />gpio.GPIO_OType = GPIO_OType_PP;<br />gpio.GPIO_PuPd = GPIO_PuPd_UP;<br />gpio.GPIO_Speed = GPIO_Speed_Level_3;<br />gpio.GPIO_Pin = DEBUG_TX_Pin;<br />GPIO_Init(DEBUG_TX_Port, &amp;gpio);<br />gpio.GPIO_Pin = DEBUG_RX_Pin;<br />GPIO_Init(DEBUG_RX_Port, &amp;gpio);<br /><br />//uart init<br />uart.USART_BaudRate = 9600;<br />uart.USART_WordLength = USART_WordLength_8b;<br />uart.USART_StopBits = USART_StopBits_1;<br />uart.USART_Parity = USART_Parity_No;<br />uart.USART_HardwareFlowControl = USART_HardwareFlowControl_None;<br />uart.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;<br />USART_Init(USART1, &amp;uart);<br />//USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);<br />//USART_ITConfig(USART1, USART_IT_TXE, ENABLE); //todo<br />USART_Cmd(USART1, ENABLE);<br />}[/syntax]<br /><br /><br />Sam kod testowy:<br />[syntax=c]int main(void)<br />{<br />BSP_UART_Config();<br /><br />//...<br /><br />uint8_t i=0;<br />    while(1)<br />    {<br />    USART_SendData(USART1, ++i);<br />    BSP_LED1(toggle);<br />    BSP_Delay(500);<br />    }<br />}[/syntax]<br /><br /><br />Niestety póki co nie udało mi się wysłać ani pół bajtu. Przy projektowaniu PCB korzystałem z Cube'a żeby mieć pewność że mi nie nachodzą peryferia, więc skorzystałem z okazji i wygenerowałem kod HALowy. Po przeanalizowaniu nie znalazłem różnic w konfiguracji...<br /><br />Pozdrawiam<br />mopsiok<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1371">mopsiok</a> — 10 cze 2017, o 19:05</p><hr />
]]></content>
</entry>
</feed>