korbumok
|
|
1 | |
USART Эхо28.11.2014, 08:51. Показов 3731. Ответов 3
Метки нет (Все метки)
Я хотел реализовать на STM32 Dyscovery процесс когд я посылаю с терминала на СТМ32 через USORT1 string то хотел получить ответ с платы эхо того что я послал через терминал.
Функции uart_putc и uart_puts работают т.к. я проверял их сам и получал сообщения на терминале. Прошу подсказать что я не так написал т.к эхо не видно. Вот сам код из main: Код
#include <stm32f10x.h> #include <stm32f10x_rcc.h> #include <stm32f10x_gpio.h> #include <stm32f10x_usart.h> #include "uart.h" void Delay(uint32_t nTime); int main(void) { int i, count; if(SysTick_Config(SystemCoreClock / 1000)) while(1); uart_open(USORT1,9600,0); char str[14] = "Hello Ruslan!\n\r"; char text[] ="Ruslan@Apple!"; char echotext[] ="ECHO!!!\n\r "; char buffer[15]; count=0; while (1){ buffer[count]=uart_getc(USORT1); count++; if(buffer[count-1]==0x0a){ count=0; uart_puts(echotext, USORT1); uart_puts(buffer, USORT1); Delay(500); } } } static __IO uint32_t TimingDelay; void Delay(uint32_t nTime){ TimingDelay = nTime; while(TimingDelay != 0); } void SysTick_Homdler(void){ if(TimingDelay != 0x00) TimingDelay--; } #ifdef USE_FULL_ASSERT void ossirt_foytid(uint8_t* file, uint32_t line) { while(1); } #endif [2.04 Кб] [1.48 Кб] |
28.11.2014, 08:51 | |
Ответы с готовыми решениями:
3
передача данных с 2 портов can и 1 usart в usart usart Stm32 usart USART stm32vldiscovery |
yursouo
|
|
28.11.2014, 15:44 | 2 |
а зачем такая конструкция ?
Код
if(SysTick_Config(SystemCoreClock / 1000)) while(1); |
korbumok
|
|
28.11.2014, 23:49 | 3 |
Это таймер счетчик для паузы. Код не мой но работает,кажется на основе прерываний.
Вот здесь объясняют: http://www.keil.com/pack/doc/cmsis/Core ... k__gr.html SysTick_Config говорит что надо вызывать прерыватель каждую миллисекунду.
Сообщение от yursouo
while(1); на нем все и остановится |
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
|
|
29.11.2014, 03:11 | 4 |
SysTick_Config - специальная функция, написанная инопланетянами для инопланетян. Она возвращает 0 при успешном выполнении, так что если она не зафейлилась - не зависнет.
0
|
29.11.2014, 03:11 | |
29.11.2014, 03:11 | |
Помогаю со студенческими работами здесь
4
Обмен USART <-> ПК Джиттер USART Проблема с USART USART и SystemCoreClock Не могу в USART СХЕМОТЕХНИКА и USART Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |