这些报错怎么处理,新手问题

2019-03-23 18:16发布

新手才学用STM8S103F3,抄了一个程序,碰到函数出错,请指点,谢谢
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
dqjohn
2019-03-24 21:57
这个程序是个开发板的例程,说是和电脑通信,在串口助手上可以看到字符串,我却没看到,请帮忙看看是否能在串口调试助手上看到字符,程序如下:
#include <iostm8s103f3.h>
#include<string.h>
#include <intrinsics.h>
#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! "};
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);
      }
}
例程上的串口调试助手如图片所示

一周热门 更多>