你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

求助,stm8s103编译后的错误

[复制链接]
飞龙在天9275 提问时间:2016-4-5 11:33 /
新人才入手,使用IAR,请教这些错误怎么处理

1.png
收藏 评论6 发布时间:2016-4-5 11:33

举报

6个回答
潇潇雨歇pku 回答时间:2016-4-5 14:58:32
这与iar没有关系,lz C语言没有搞清楚。
下边不多说了么,你声明函数的时候都没有函数类型怎么玩?
飞龙在天9275 回答时间:2016-4-5 15:56:59
潇潇雨歇pku 发表于 2016-4-5 14:58
这与iar没有关系,lz C语言没有搞清楚。
下边不多说了么,你声明函数的时候都没有函数类型怎么玩? ...

您说的很对。正在摸索。
飞龙在天9275 回答时间:2016-4-5 16:06:59
这个程序是个开发板的例程,说是和电脑通信,在串口助手上可以看到字符串,我却没看到,请帮忙看看是否能在串口调试助手上看到字符,程序如下:
#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!\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);
      }
}
例程上的串口调试助手如图片所示
2.png
zcl201207 回答时间:2016-4-5 20:11:19
suoma 回答时间:2016-4-5 21:10:02
unsigned int ch
飞龙在天9275 回答时间:2016-4-5 22:11:52
请指点,初学上路,没玩过任何单片机

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版