管理员
最后登录1970-1-1
在线时间 小时
注册时间2013-3-25
|
1、发送一个字节
- /***************** 发送一个字节 **********************/
- void Usart_SendByte( USART_TypeDef * pUSARTx, uint8_t ch)
- {
- /* 发送一个字节数据到USART */
- USART_SendData(pUSARTx,ch);
-
- /* 等待发送数据寄存器为空 */
- while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);
- }
复制代码 2、发送两个字节- /***************** 发送一个16位数 **********************/
- void Usart_SendHalfWord( USART_TypeDef * pUSARTx, uint16_t ch)
- {
- uint8_t temp_h, temp_l;
-
- /* 取出高八位 */
- temp_h = (ch&0XFF00)>>8;
- /* 取出低八位 */
- temp_l = ch&0XFF;
-
- /* 发送高八位 */
- USART_SendData(pUSARTx,temp_h);
- while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);
-
- /* 发送低八位 */
- USART_SendData(pUSARTx,temp_l);
- while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);
- }
复制代码 3、发送8位的数组
- uint8_t a[10]={1,2,3,4,5,6,7,8,9,10};
- Usart_SendArray( DEBUG_USARTx, a, 10);
- /* 发送8位的数组 */
- void Usart_SendArray( USART_TypeDef * pUSARTx, uint8_t *array, uint16_t num)
- {
- uint8_t i;
-
- for(i=0; i<num; i++)
- {
- /* 发送一个字节数据到USART */
- Usart_SendByte(pUSARTx,array[i]);
-
- }
- /* 等待发送完成 */
- while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET);
- }
复制代码 4、发送字符串
- /***************** 发送字符串 **********************/
- void Usart_SendString( USART_TypeDef * pUSARTx, char *str)
- {
- unsigned int k=0;
- do
- {
- Usart_SendByte( pUSARTx, *(str + k) );
- k++;
- } while(*(str + k)!='\0');
-
- /* 等待发送完成 */
- while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET)
- {}
- }
复制代码 5、以上函数如何调用
- uint8_t a[10]={1,2,3,4,5,6,7,8,9,10};
- USART_Config();
- Usart_SendByte( DEBUG_USARTx, 'A');
-
- Usart_SendString( DEBUG_USARTx, "\n欢迎使用野火STM32F103开发板");
- Usart_SendHalfWord( DEBUG_USARTx, 0x5642);
- Usart_SendArray( DEBUG_USARTx, a, 10);
复制代码
|
|