Цитата
Вот код, имеющийся в сухом остатке. Кто подскажет что не так?
Вам уже советовали - замените магические числа на именованные константы. Я посчитал битики и нашёл ошибку, которой могло бы не быть, если Вы бы пользовались родными #define.
Цитата
А вот это что такое?
Код
arm_hardware_pioa_periphout_altfn2(GPIO_ODR_ODR9, 255); // TX DATA line (2 MHz)
arm_hardware_pioa_inputs(GPIO_ODR_ODR10); // RX data line
Вот просто rocket sience... Как Вы вообще программированием занимаетесь? Ну не обращайте внимания на второстеепнные для понимания вещи... У Вас в программе есть аналогичный кусок, только он настроен на работу с двумя битами в PIOA, это универсальные функциии...
Если что, исходник лежит вот тут
https://188.134.5.254/export/616/trunk/hardware.c - строка 2600 и 1320
И что за пляски со status register? Сделайте прямо:
Код
while ((USART1->SR & USART_SR_TXE) == 0)
;
USART1->DR = c;
Сообщение отредактировал Genadi Zawidowski - Nov 18 2013, 20:20