STM32f103 的spi控制74HC595显示程序问题 这个程序为什么不能正确显示数码管呢?

#include"stm32f10x_lib.h"SPI_InitTypeDefSPI_InitStructure;ErrorStatusHSEStartUpStatus... #include"stm32f10x_lib.h"
SPI_InitTypeDef SPI_InitStructure;
ErrorStatus HSEStartUpStatus;
GPIO_InitTypeDef GPIO_InitStructure;
void RCC_Configuration(void);
void GPIO_Configuration(void);
void SPI_Configuration(void);
void Delay(void);
int main(void)
{
RCC_Configuration();
GPIO_Configuration();
SPI_Configuration();
while(1)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_12);
Delay();
while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_TXE)==RESET);
SPI_I2S_SendData(SPI2,0xf2);
GPIO_SetBits(GPIOB,GPIO_Pin_12);
Delay();
}
}
void RCC_Configuration(void)
{}
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2,ENABLE);
}
void GPIO_Configuration(void)
{
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_15|GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
}

void Delay(void)
{
char i;
for(i=0;i<100;i++);
}
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏70(财富值+成长值)
顺畅且透彻灬爱侣1
2015-09-22 · 知道合伙人数码行家
顺畅且透彻灬爱侣1
知道合伙人数码行家
采纳数:235 获赞数:634
毕业于安徽工程大学,从事LCD液晶面板行业4年,熟悉电脑,手机,平板等各类面板故障分析。

向TA提问 私信TA
展开全部
两个建议1.把32的主频降到最低试一试

2.使用模拟SPI口
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式