Witam, mam problem z wysyłaniem stringów przez usart na attiny 2313. Używam wewnętrznego oscylatora, fusebity ustawione tak że wyłaczone jest dzielenie zegara przez 8 tak więc procesor pracuje na 8 Mhz. Zgodnie z kalulatorem z mkavrcalulcator wpisałem wartość 51 do UBRRL aby uzyskac 9600 baud. Gdy wysyłam pojedynczy znak to wszystko jest ok. Problem pojawia się gdy chce wysłać jakiś string. Poniżej zamieszczam swój kod, funkcja USART_Transmit działa poprawnie i dla kodu USART_Transmit('x'); pojawia się znak x w konsoli natomiast gdy wykonam funkcje SendString("napis") to poprawnie pojawia się w konsoli tylko pierwszy znak tj. n - a reszta to jakieś krzaczki. Czy problem leży w niedokładności wewnętrznego oscylatora czy w programie?
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
próbowałem też funkcji SendString2 z kodem jak poniżej i ten sam efekt
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.