野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10258|回复: 4

例程报错求解

[复制链接]
发表于 2017-4-10 20:26:35 | 显示全部楼层 |阅读模式
本帖最后由 无极剑圣 于 2017-4-10 20:27 编辑

  1. /*
  2.         使用寄存器的方法点亮LED灯
  3.   */
  4. #include "stm32f4xx.h"


  5. /**
  6.   *   主函数
  7.   */
  8. int main(void)
  9. {        
  10.         /*开启 GPIOH 时钟,使用外设时都要先开启它的时钟*/
  11.         RCC_AHB1ENR |= (1<<7);        
  12.         
  13.         /* LED 端口初始化 */
  14. 8
  15.         
  16.         /*GPIOH MODER10清空*/
  17.         GPIOH_MODER  &= ~( 0x03<< (2*10));        
  18.         /*PH10 MODER10 = 01b 输出模式*/
  19.         GPIOH_MODER |= (1<<2*10);
  20.         
  21.         /*GPIOH OTYPER10清空*/
  22.         GPIOH_OTYPER &= ~(1<<1*10);
  23.         /*PH10 OTYPER10 = 0b 推挽模式*/
  24.         GPIOH_OTYPER |= (0<<1*10);
  25.         
  26.         /*GPIOH OSPEEDR10清空*/
  27.         GPIOH_OSPEEDR &= ~(0x03<<2*10);
  28.         /*PH10 OSPEEDR10 = 0b 速率2MHz*/
  29.         GPIOH_OSPEEDR |= (0<<2*10);
  30.         
  31.         /*GPIOH PUPDR10清空*/
  32.         GPIOH_PUPDR &= ~(0x03<<2*10);
  33.         /*PH10 PUPDR10 = 01b 上拉模式*/
  34.         GPIOH_PUPDR |= (1<<2*10);
  35.         
  36.         /*PH10 BSRR寄存器的 BR10置1,使引脚输出低电平*/
  37.         GPIOH_BSRR |= (1<<16<<10);
  38.         
  39.         /*PH10 BSRR寄存器的 BS10置1,使引脚输出高电平*/
  40.         //GPIOH_BSRR |= (1<<10);

  41.         while(1);

  42. }

  43. // 函数为空,目的是为了骗过编译器不报错
  44. void SystemInit(void)
  45. {        
  46. }






  47. /*********************************************END OF FILE**********************/


复制代码

回复

使用道具 举报

 楼主| 发表于 2017-4-10 20:28:06 | 显示全部楼层
错误信息:
  1. *** Using Compiler 'V5.05 update 2 (build 169)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
  2. Rebuild target 'LED-REG'
  3. compiling main.c...
  4. main.c(20): error:  #32: expression must have arithmetic type
  5.         
  6. PIOH_MODER  &= ~( 0x03<< (2*10));      
  7. main.c: 0 warnings, 1 error
  8. assembling startup_stm32f429_439xx.s...
  9. ".\Objects\LED-REG.axf" - 1 Error(s), 0 Warning(s).
  10. Target not created.
  11. Build Time Elapsed:  00:00:01
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-10 20:49:16 | 显示全部楼层
  1. #define a *(unsigned int *)0x88000
  2.        

  3. /*片上外设基地址  */
  4. #define PERIPH_BASE           ((unsigned int)0x40000000)                          

  5. /*总线基地址 */
  6. #define AHB1PERIPH_BASE       (PERIPH_BASE + 0x00020000)       

  7. /*GPIO外设基地址*/
  8. #define GPIOH_BASE            (AHB1PERIPH_BASE + 0x1C00)


  9. /* GPIOH寄存器地址,强制转换成指针 */
  10. #define GPIOH_MODER                                *(unsigned int*)(GPIOH_BASE+0x00)
  11. #define GPIOH_OTYPER                        *(unsigned int*)(GPIOH_BASE+0x04)
  12. #define GPIOH_OSPEEDR                        *(unsigned int*)(GPIOH_BASE+0x08)
  13. #define GPIOH_PUPDR                                *(unsigned int*)(GPIOH_BASE+0x0C)
  14. #define GPIOH_IDR                                        *(unsigned int*)(GPIOH_BASE+0x10)
  15. #define GPIOH_ODR                                        *(unsigned int*)(GPIOH_BASE+0x14)
  16. #define GPIOH_BSRR                                        *(unsigned int*)(GPIOH_BASE+0x18)
  17. #define GPIOH_LCKR                                        *(unsigned int*)(GPIOH_BASE+0x1C)
  18. #define GPIOH_AFRL                                        *(unsigned int*)(GPIOH_BASE+0x20)
  19. #define GPIOH_AFRH                                        *(unsigned int*)(GPIOH_BASE+0x24)

  20. /*RCC外设基地址*/
  21. #define RCC_BASE              (AHB1PERIPH_BASE + 0x3800)

  22. /*RCC的AHB1时钟使能寄存器地址,强制转换成指针*/
  23. #define RCC_AHB1ENR                                *(unsigned int*)(RCC_BASE+0x30)
  24.        

复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-10 20:51:53 | 显示全部楼层
已解决,谢谢
回复 支持 反对

使用道具 举报

发表于 2018-10-8 13:10:59 | 显示全部楼层
请问怎么解决的呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 05:57 , Processed in 0.031250 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表