问题描述
当我在调试模式下运行时,它保持在无限循环中。 enter image description here
当我查看调试器控制台时;我看到了 WWDG_IRQHandler () 中断。但这里没有削减。为什么会导致这样的错误?会不会是寄存器地址分配有冲突?因为我无法以任何方式前进。 enter image description here
/*
* PB12 ---> SPI2_NSS
* PB13 ---> SPI2_SCLK
* PB14 ---> SPI2_MISO
* PB15 ---> SPI2_MOSI
* Alt fucn. Mode = 5
*/
#include "stm32f407xx.h"
#include "string.h"
void SPI2_GPIO_Init(void)
{
GPIO_Handle_t SPIPins;
SPIPins.pGPIOx =GPIOB;
SPIPins.GPIO_PinConfig.GPIO_PinMode = GPIO_MODE_ALTFN;
SPIPins.GPIO_PinConfig.GPIO_PinAltFunModer = 5;
SPIPins.GPIO_PinConfig.GPIO_PinopType = GPIO_OP_PP;
SPIPins.GPIO_PinConfig.GPIO_PinPuPdControl = GPIO_NO_PUPD;
SPIPins.GPIO_PinConfig.GPIO_PinSpeed = GPIO_SPEED_FAST;
GPIO_PeripheralClockControl(GPIOB,ENABLE);
//SPI2_SCLK
SPIPins.GPIO_PinConfig.GPIO_PinNumber = GPIO_PIN_NO_13;
GPIO_Init(&SPIPins);
//MOSI
SPIPins.GPIO_PinConfig.GPIO_PinNumber = GPIO_PIN_NO_15;
GPIO_Init(&SPIPins);
//MISO
//SPIPins.GPIO_PinConfig.GPIO_PinNumber = GPIO_PIN_NO_14;
//GPIO_Init(&SPIPins);
//NSS
//SPIPins.GPIO_PinConfig.GPIO_PinNumber = GPIO_PIN_NO_12;
//GPIO_Init(&SPIPins);
}
void SPI2_Init()
{
SPI_Handle_t SPI2Handle;
SPI2Handle.pSPIx =SPI2;
SPI2Handle.SPI_Config.SPI_BusConfig =SPI_BUS_CONfig_FD;
SPI2Handle.SPI_Config.SPI_DeviceMode =SPI_DEVICE_MODE_MASTER;
SPI2Handle.SPI_Config.SPI_SclkSpeed =SPI_SCLK_SPEED_DIV2; //8mhz
SPI2Handle.SPI_Config.SPI_DFF =SPI_DFF_8Bits;
SPI2Handle.SPI_Config.SPI_CPOL =SPI_CPOL_LOW;
SPI2Handle.SPI_Config.SPI_CPHA =SPI_CPHA_LOW;
SPI2Handle.SPI_Config.SPI_SSM =SPI_SSM_EN;
SPI_PeripheralClockControl(SPI2,ENABLE);
SPI2_Init(&SPI2Handle);
}
int main(void)
{
char user_data[] = "Hello World";
SPI2_GPIO_Init();
SPI2_Init();
SPI_SendData(SPI2,(uint8_t*) user_data,strlen(user_data));
while(1);
return 0 ;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)