新手才学用STM8S103F3,抄了一个程序,碰到函数出错,请指点,谢谢
delay的括号里要和下面delay一致,里面应该有参数。
这个问题是c语言的问题,建议您百度下或者多看看函数声明的格式,这样有助于您理解问题呢。
这个程序是个开发板的例程,说是和电脑通信,在串口助手上可以看到字符串,我却没看到,请帮忙看看是否能在串口调试助手上看到字符,程序如下:
#include
#include
#include
#define u8 unsigned char
#define u16 unsigned int
#define u32 unsigned long
void delay();
void Clk_Config(void);
void Uart_Init(void);
void UART1_Sendint();
const char table[]={"Wish you study SCM happy!\n"};
void delay(u16 n)
{
u16 i,j;
while(n --)
{
for(i = 0;i < 32;i ++)
for(j = 0;j < 10;j ++);
}
}
void Clk_Config(void)
{
CLK_CKDIVR= 0x00; //系统时钟 1 分频
while(!(CLK_ICKR & 0x02)); //等待 HSI 准备好
}
void Uart_Init(void)
{
UART1_BRR2 = 0x00;
UART1_BRR1 = 0x0d; //2MHZ 时波特率 9600 对应数值
UART1_CR2 = 0x08; //开启发送
}
void UART1_Sendint(unsigned int ch)
{
u32 USART1_SR=0x00;
//int UART1_DR;
while((USART1_SR & 0x80) == 0x00); // 等待数据的传送
UART1_DR = ch;
}
int main( void )
{
u8 i;
//Clk_Config();
Uart_Init();
while(1)
{
for(i=0;i<=strlen(table);i++)
{
UART1_Sendint(table);
}
delay(500);
}
}
例程上的串口调试助手如图片所示
那就证明您学的不够踏实么,或者学的比较死板。建议您刚开始的时候写语句的时候给每条语句都注释,这样写的慢,但是您知道您写这条语句是干嘛的
您上面显示的串口的窗口不是可以正常的显示了吗,stm8,我没搞过,我用stm32啦。看起来显示了啊。