总有一些问题B4B5不能输出高电平一查竟然没有上拉电阻
自定义函数报错
#error cpstm8 main.c:2839(46) missing prototype
使用了未声明(或未定义)的变量(或函数)无函数形参时,需要加上void,如void SysInit(),应该定义为void SysInit(void){} |
(stmcu.org/module/forum/thread-557195-1-1.)
#include "STM8S103F.h"
#define BIT0 0x01
#define BIT1 0x02
#define BIT2 0x04
#define BIT3 0x08
#define BIT4 0x10
#define BIT5 0x20
#define BIT6 0x40
#define BIT7 0x80
void yanshi(unsigned int x)
{
unsigned char y,z;
for(y=x;x>0;x--)
for(z=100;z>0;z--);
}
void yi(void)
{
PD_ODR|=BIT3;yanshi(500);PD_ODR&=~BIT3;yanshi(300);
}
void er(void)
{
PD_ODR|=BIT2;yanshi(500);PD_ODR&=~BIT2;yanshi(300);
}
void san(void)
{
PD_ODR|=BIT1;yanshi(500);PD_ODR&=~BIT1;yanshi(300);
}
void si(void)
{PC_ODR|=BIT7;yanshi(500);PC_ODR&=~BIT7;yanshi(300);}
void wu(void)
{PC_ODR|=BIT6;yanshi(500);PC_ODR&=~BIT6;yanshi(300);}
void main()
{
PD_DDR|=BIT1|BIT2|BIT3; //输出
PC_DDR|=BIT3|BIT4|BIT5|BIT6|BIT7;
PB_DDR|=BIT4|BIT5;
PD_CR1|=BIT1|BIT2|BIT3; //推挽
PC_CR1|=BIT3|BIT4|BIT5|BIT6|BIT7;
PB_CR1|=BIT4|BIT5;
while (1)
{
yi();er();san();si();
//PD_ODR|=BIT3;yanshi(500);PD_ODR&=~BIT3;yanshi(300);
//PD_ODR|=BIT2;yanshi(500);PD_ODR&=~BIT2;yanshi(300);
//PD_ODR|=BIT1;yanshi(500);PD_ODR&=~BIT1;yanshi(300);
//PC_ODR|=BIT7;yanshi(500);PC_ODR&=~BIT7;yanshi(300);
//PC_ODR|=BIT6;yanshi(500);PC_ODR&=~BIT6;yanshi(300);
PC_ODR|=BIT5;yanshi(500);PC_ODR&=~BIT5;yanshi(300);
PC_ODR|=BIT4;yanshi(500);PC_ODR&=~BIT4;yanshi(300);
PC_ODR|=BIT3;yanshi(500);PC_ODR&=~BIT3;yanshi(300);
PB_ODR|=BIT4;yanshi(500);PB_ODR&=~BIT4;yanshi(300);
PB_ODR|=BIT5;yanshi(500);PB_ODR&=~BIT5;yanshi(300);
}
}