image.png
    image.png

    1. #include "stm32f10x.h" // Device header
    2. int main(void)
    3. {
    4. RCC->APB2ENR = 0x00000008;
    5. GPIOB->CRL = 0x00300000;
    6. GPIOB->ODR = 0x00000000;
    7. while(1)
    8. {
    9. }
    10. }

    RCC->APB2ENR = 0x00000008;
    image.png
    GPIOB->CRL = 0x00300000;
    image.png
    GPIOB->ODR = 0x00000000;
    image.png
    6c19e76b0f1fae967900e5a2bc7b2f2.jpg
    对比一下,标准库开发

    1. #include "stm32f10x.h" // Device header
    2. int main(void)
    3. {
    4. // RCC->APB2ENR = 0x00000008;
    5. // GPIOB->CRL = 0x00300000;
    6. // GPIOB->ODR = 0x00000000;
    7. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//时钟使能
    8. GPIO_InitTypeDef GPIO_InitStructure;//GPIO初始化 需要一个结构体GPIO_InitStructure
    9. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//GPIO初始化结构体的三个成员 mode Pin Mode
    10. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
    11. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    12. GPIO_Init(GPIOB, &GPIO_InitStructure);//GPIO初始化
    13. //GPIO_SetBits(GPIOB,GPIO_Pin_5);//设置为高电平
    14. GPIO_ResetBits(GPIOB,GPIO_Pin_5);//设置为低电平
    15. while(1)
    16. {
    17. }
    18. }