-
/* MAIN.C file
-
*
-
* Copyright (c) 2002-2005 STMicroelectronics
-
*/
-
#include "stm8s.h"
-
#include "stm8s_clk.h"
-
#include "stm8s_conf.h"
-
#include "stm8s_uart1.h"
-
#include <stdio.h>
-
void SendSrting(unsigned char *str);
-
-
main()
-
{
-
char u8_data=100;
-
-
CLK_HSECmd(DISABLE); //关闭外部高速振荡器
-
CLK_HSICmd(ENABLE); //启用内部高速时钟
-
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); //设置 内部 时钟16M 为主时钟(默认是8分配2MHz)
-
-
UART1_DeInit();
-
/* 初始化串口115200 8 1 不校验 允许收发 */
-
UART1_Init((u32)115200, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
-
UART1_Cmd(ENABLE);
-
-
printf("Hello Nguhyw =%d\n",(int)u8_data);
-
while (1);
-
}
-
-
char putchar(char c)
-
{
-
if (c == '\n')
-
{
-
while (!(UART1->SR & 0x40));
-
UART1->DR = ('\r');
-
while (!(UART1->SR & 0x40)); //等待发送完成
-
}
-
-
while (!(UART1->SR & 0x80));
-
UART1->DR = (c);
-
while (!(UART1->SR & 0x80)); //等待发送完成
-
-
return (c);
-
}
要使用c语音的printf函数只需定义 char putchar(char c)即可
-
char putchar(char c)
-
{
-
if (c == '\n')
-
{
-
while (!(UART1->SR & 0x40));
-
UART1->DR = ('\r');
-
while (!(UART1->SR & 0x40)); //等待发送完成
-
}
-
-
while (!(UART1->SR & 0x80));
-
UART1->DR = (c);
-
while (!(UART1->SR & 0x80)); //等待发送完成
-
-
return (c);
-
}
但是需要注意的是
整数输出的时候就必须强制转换成int型的数据才能正确的输出。
阅读(4864) | 评论(0) | 转发(0) |