/****************************************************************************
|
* Copyright: (C)2018 Î人ÁèÔÆÎïÍøÖÇ¿ÆÊµÑéÊÒ www.iot-yun.com
|
* Author: GuoWenxue<guowenxue@gmail.com> QQ: 281143292
|
* Description: ·Ü¶·STM32v5¿ª·¢°å ´®¿ÚʹÓóÌÐò
|
*
|
* ChangeLog:
|
* °æ±¾ºÅ ÈÕÆÚ ×÷Õß ËµÃ÷
|
* V1.0.0 2018.05.11 GuoWenxue ·¢²¼¸Ã°æ±¾
|
****************************************************************************/
|
|
#include <stdio.h>
|
#include <string.h>
|
#include "stm32f10x.h"
|
#include "stm32v5_led.h"
|
#include "stm32v5_usart.h"
|
|
void delay(uint32_t count)
|
{
|
while(count--) ;
|
|
return ;
|
}
|
|
|
int main(void)
|
{
|
uint8_t which=USART_PORT1;
|
uint8_t g_TxBuf[RXBUF_SIZE];
|
uint8_t g_TxLen = 0;
|
|
init_led_gpio();
|
turn_led(LED1, ON);
|
|
init_dbg_uart(which, 115200);
|
printf("\nUSART%d test program verison 1.0.0\n", which);
|
|
delay(0x4FFFFF);
|
|
while(1)
|
{
|
#if 0 /* ¸Ã´úÂëΪ¼òµ¥²âÊÔ´úÂë */
|
turn_led(LED3, ON);
|
usart_puts("Hello World!\n");
|
delay(0x4FFFFF);
|
|
turn_led(LED3, OFF);
|
printf("Goodbye World!\n");
|
delay(0x4FFFFF);
|
#else /* ¸Ã´úÂëÓÃÀ´½«½ÓÊÕµ½µÄÒ»ÐÐÊý¾Ý(\r\n½áβ)»Ø´«»ØÈ¥ */
|
if( g_RxEnd_Flag )
|
{
|
turn_led(LED3, ON);
|
|
memset(g_TxBuf, 0, sizeof(g_TxBuf)); /* ½«·¢ËÍbufferÀïÃæµÄÊý¾ÝÇåÁã */
|
memcpy(g_TxBuf, g_RxBuf, g_RxLen); /* ½«½ÓÊÕbufferÀïÃæµÄÊý¾Ý¿½±´µ½·¢ËÍbufferÖÐÈ¥*/
|
|
g_TxLen = g_RxLen; /* ½«·¢ËÍÊý¾Ý³¤¶ÈÉèÖÃΪ½ÓÊÕµ½µÄÊý¾Ý³¤¶È */
|
g_RxLen = 0;
|
g_RxEnd_Flag = 0; /* ½«½ÓÊÕÊý¾ÝÍê³É±êʶÉèΪ0, ÕâÑù´®¿Ú½ÓÊÕÖжϾÍÄܼÌÐø¿ªÊ¼½ÓÊÕÊý¾ÝÁË */
|
|
usart_send_data(g_TxBuf, g_TxLen); /* ½«½ÓÊÕµ½µÄÊý¾Ý»Ø´«»ØÈ¥ */
|
turn_led(LED3, OFF);
|
}
|
#endif
|
}
|
}
|