金牌会员
 
- 积分
- 1238
- 金钱
- 1238
- 注册时间
- 2013-1-9
- 在线时间
- 121 小时
|
本帖最后由 anazel 于 2016-9-15 17:54 编辑
在发送字符函数中需要加一个100us以上的延时,否则第一个字符可能会丢失。
/****************************发送字符(ASCII)串函数***********************/
//函数原型:void Send_ASCII(u16 *b)
//函数功能:发送字符串(ASCII码)
//输入参数:u16 *b
//输出参数:无
/**********************************************************************/
void Send_UART1_ASCII(unsigned char *s)
{
unsigned char i=0; //定义一个局部变量 用来 发送字符串 ++运算
while(s【i】!='\0') // 每个字符串结尾 都是以 \0 结尾的
{
USART_SendData(USART1,s); //通过库函数 发送数据
delay_us(100);
while( USART_GetFlagStatus(USART1,USART_FLAG_TC)!= SET);
//等待发送完成。 检测 USART_FLAG_TC 是否置1; //见库函数 P359 介绍
i++; //i++一次
}
}
|
|