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

2019-03-23 18:16发布

新手才学用STM8S103F3,抄了一个程序,碰到函数出错,请指点,谢谢
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
dqjohn
1楼-- · 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);
      }
}
例程上的串口调试助手如图片所示

huaiqiao
2楼-- · 2019-03-24 22:46
 精彩回答 2  元偷偷看……
dqjohn
3楼-- · 2019-03-25 01:16
huaiqiao 发表于 2016-4-5 17:16
那就证明您学的不够踏实么,或者学的比较死板。建议您刚开始的时候写语句的时候给每条语句都注释,这样写 ...

请帮忙看一下上面的程序有什么问题吗
huaiqiao
4楼-- · 2019-03-25 03:22
dqjohn 发表于 2016-4-5 22:16
请帮忙看一下上面的程序有什么问题吗

您上面显示的串口的窗口不是可以正常的显示了吗,stm8,我没搞过,我用stm32啦。看起来显示了啊。

一周热门 更多>