Discuz! Board
标题:
STM8S207RB GPIO的设置问题
[打印本页]
作者:
wuweiwen0101
时间:
2015-2-12 14:56
标题:
STM8S207RB GPIO的设置问题
小弟stm8新手一个,刚上手几天,遇到一个问题:
#define SPI_MOSI PB_ODR_ODR3 //设置推挽输出
void SPI_WriteByte(uchar byte)
{
uchar i;
for(i=0;i<8;i++)
{
SPI_MOSI=(byte&0x80); //write byte,send MSB bit
SPI_CLK=1;
Delay_us(20);
SPI_CLK=0;
byte=(byte<<1);
Delay_us(20);
}
}
如果这样设置的话,SPI_MOSI会一直低电平
void SPI_WriteByte(uchar byte)
{
uchar i;
for(i=0;i<8;i++)
{
if(byte&0x80)
{
SPI_MOSI=1;
}
else
{
SPI_MOSI=0;
}
SPI_CLK=1;
Delay_us(20);
SPI_CLK=0;
byte=(byte<<1);
Delay_us(20);
}
}
这样设置就正常了,但是我用其他MCU设置,第一个例子没问题呢,现在还不知道具体问题所在,估计是我没定义好,现在只能用下面的程序先用着,哪位大哥说说是哪里问题。
我个人感觉上面两种设置方法是一样的
作者:
admin
时间:
2015-2-13 20:48
PB_ODR_ODR3 直接赋值1,就是0x01
欢迎光临 Discuz! Board (http://qfv8.com/)
Powered by Discuz! X3