完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请高手帮忙看一下,我是小白,用的是STM32F051C8T6的板子
(用下面的命令)生成了HEX文件,用ISP写入板子时没有报错,但是提示写入0KB,板子没有任何反应。是那里有问题?谢谢 main.c #include "stm32f051.h" /** * 主函数 */ int main(void) { // 开启GPIOB 端口时钟 RCC_APB2ENR |= (1<<3); RCC_AHB1ENR |= (0<<17); RCC_AHB1ENR |= (0<<18); RCC_AHB1ENR |= (0<<19); RCC_AHB1ENR |= (0<<20); GPIOA_MODER |= (1<<24); GPIOA_OTYPER |= (1<<12); GPIOA_OSPEEDR |=(1<<24) ; GPIOA_PUPDR |= (1<<25); GPIOA_ODR = ~(1<<11); GPIOA_ODR = ~(1<<12); GPIOA_ODR = ~(1<<13); GPIOA_ODR = ~(1<<14); GPIOA_ODR = ~(1<<15); while(1); } void SystemInit(void) { } /*********************************************END OF FILE**********************/ stm32f051.h /*本文件用于添加寄存器地址及结构体定义*/ /*片上外设基地址 */ #define PERIPH_BASE ((unsigned int)0x40000000) /*AHB1 总线基地址 */ #define AHB1PERIPH_BASE (PERIPH_BASE + 0x20000) /*RCC外设基地址*/ #define RCC_BASE (AHB1PERIPH_BASE + 0x1000) /*RCC的AHB1时钟使能寄存器地址,强制转换成指针*/ #define RCC_AHB1ENR *(unsigned int*)(RCC_BASE+0x14) /*AHB2 总线基地址 */ #define AHB2PERIPH_BASE (PERIPH_BASE + 0x8000000) /*GPIOA外设基地址*/ #define GPIOA_BASE (AHB2PERIPH_BASE + 0x0000) #define GPIOB_BASE (AHB2PERIPH_BASE + 0x0400) #define GPIOC_BASE (AHB2PERIPH_BASE + 0x0800) #define GPIOD_BASE (AHB2PERIPH_BASE + 0x0C00) /* GPIOB寄存器地址,强制转换成指针 */ #define GPIOA_MODER *(unsigned int*)(GPIOA_BASE+0x00) #define GPIOA_OTYPER *(unsigned int*)(GPIOA_BASE+0x04) #define GPIOA_OSPEEDR *(unsigned int*)(GPIOA_BASE+0x08) #define GPIOA_PUPDR *(unsigned int*)(GPIOA_BASE+0x0C) #define GPIOA_IDR *(unsigned int*)(GPIOA_BASE+0x10) #define GPIOA_ODR *(unsigned int*)(GPIOA_BASE+0x14) #define GPIOA_BSRR *(unsigned int*)(GPIOA_BASE+0x18) #define GPIOA_LCKR *(unsigned int*)(GPIOA_BASE+0x1C) #define GPIOA_AFRL *(unsigned int*)(GPIOA_BASE+0x20) #define GPIOA_AFRH *(unsigned int*)(GPIOA_BASE+0x24) #define GPIOA_BRR *(unsigned int*)(GPIOA_BASE+0x28) |
|
相关推荐
2个回答
|
|
你换个STLINK仿真器
|
|
|
|
首先,我们需要确保您的代码和设置是正确的。以下是一些可能的问题和解决方案:
1. 检查代码是否正确编译为HEX文件: 确保您的代码没有语法错误,并且已经正确地编译为HEX文件。您可以在编译器中查看是否有任何错误或警告。 2. 检查ISP工具是否正确连接: 确保您的ISP工具(如ST-LINK)已正确连接到STM32F051C8T6开发板,并且连接线没有损坏。 3. 检查ISP工具的设置: 确保您在ISP工具中选择了正确的目标设备(STM32F051C8T6)和正确的内存(如Flash)进行编程。 4. 检查STM32F051C8T6开发板的电源和复位: 确保开发板的电源已正确连接,并且复位电路工作正常。如果需要,您可以尝试手动复位开发板。 5. 检查代码中的GPIO配置: 在您的代码中,您提到了开启GPIOB端口时钟和一些GPIO模式设置。请确保这些设置是正确的,并且与您的硬件设计相匹配。 6. 检查代码中的主循环: 在您的代码片段中,我没有看到主循环。请确保您的代码中有一个主循环,以便在启动后执行所需的操作。 7. 使用调试器检查: 如果您使用的是支持STM32的IDE(如Keil MDK-ARM或STM32CubeIDE),您可以尝试使用调试器逐步执行代码,以查看程序是否在预期的位置停止。 8. 检查ISP工具的固件: 确保您的ISP工具(如ST-LINK)的固件是最新的,以避免兼容性问题。 如果以上步骤都无法解决问题,请提供更详细的信息,例如ISP工具的型号和版本,以及您使用的编译器和IDE。这将有助于进一步诊断问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1786 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1622 浏览 1 评论
1089 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
730 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1680 浏览 2 评论
1939浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
736浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
571浏览 3评论
597浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
560浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 05:27 , Processed in 0.878126 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号