编辑:(普通文本:修复/整理(最后查看新程序代码)|
粗体- 仍然需要帮助)
嗨,大家好!所以,我昨天刚拿到这个板,但遇到了一些麻烦。
首先,LCD不亮!我插上
电源,LD9 继续,使用 STLINK USB 端口将 micro A 插入计算机,我在 LD12 处变红,仅此而已;
我正在关注 Udemy 上关于如何使 LED 闪烁的教程,但尽管 LED 亮起,但它并没有闪烁;
我什至下载了 CubeProg 并做了那些重置,看看是否有帮助,但没有;
另一件事是:我怎样才能完全“关闭”CM4,使其不出现在 CubeIDE 上,不产生错误等等?
我尝试使用 OB 禁用它,但仍然如此。每次我在 IDE 上创建
STM32项目时,它都在项目树上,我也必须为它设置所有内容。
我正在尝试的代码是:
- #include "stm32h757xx.h"
- #define GPIOKEN (1U<<10) //page 492
- #define PIN6 (1U << 5)
- #define LED_PIN (PIN6)
- int main(void){
- //enable clock access to GPIOK
- RCC->AHB4ENR |= GPIOKEN;
- //Set GPIOK as OP
- GPIOK->MODER &=~ (3U << 12); //reset bit 12 and 13
- GPIOK->MODER |= (1U << 12); //set bit 12
- while(1){
- //toggle PIN6
- GPIOK->ODR ^= LED_PIN;
- for(int i = 0; i<100000; i++){}
- }
- }
PS:我去了添加路径和符号,并将 STM32H757xx 和 CORE_CM7 添加到符号中,并且(使用 CubeH7 包)我添加了来自 DriversInclude 和 DriversDeviceSTSTM32H7xxInclude 的包含文件夹;
上面的代码编译;我点亮了蓝色 LED,但它没有闪烁;
你们能帮帮我吗?
我是否通过 CubeProg 通过软件/硬/内核重置来破坏我的
电路板?
为什么LCD不亮?我必须更换套头衫吗?首先需要程序代码吗?
如何只使用 CM7?
我正在学习的课程遵循裸机方法,因此是这段代码;
我遵循了一些使用 HAL 库的教程,但它只是向项目树添加了更多的东西,填充了太多的主要方式;此外,我想学习如何直接使用寄存器;aaah,甚至在 LCD 上使用 HAL 教程也没有继续下去;
PS:是的,也许我应该得到一块单核板,但这是一份礼物,所以......
谢谢!
- #include "stm32h757xx.h"
- #define GPIOKEN (1U<<10) //page 492
- #define PIN3 (1U << 3)
- #define LED3_PIN (PIN3)
- #define PIN4 (1U << 4)
- #define LED4_PIN (PIN4)
- #define PIN5 (1U << 5)
- #define LED5_PIN (PIN5)
- #define PIN6 (1U << 6)
- #define LED6_PIN (PIN6)
- int main(void){
- //enable clock access to GPIOK
- RCC->AHB4ENR |= GPIOKEN;
- //Set GPIOKs as OP
- GPIOK->MODER &=~ (3U << 6); //reset 7.6
- GPIOK->MODER |= (1U << 6); //set 6
- GPIOK->MODER &=~ (3U << 8); //reset 9.8
- GPIOK->MODER |= (1U << 8); //set 8
- GPIOK->MODER &=~ (3U << 10); //reset bit 11.10
- GPIOK->MODER |= (1U << 10); //set 10
- GPIOK->MODER &=~ (3U << 12); //reset 12.13
- GPIOK->MODER |= (1U << 12); //set 12
- while(1){
- //toggle LED PINs
- GPIOK->ODR ^= LED3_PIN;
- for(int i = 0; i<1350000; i++){}
- GPIOK->ODR ^= LED4_PIN;
- for(int i = 0; i<1350000; i++){}
- GPIOK->ODR ^= LED5_PIN;
- for(int i = 0; i<1350000; i++){}
- GPIOK->ODR ^= LED6_PIN;
- for(int i = 0; i<1350000; i++){}
- }
- }
- //PS: even got they blinking in sequence now ^^
0