风扇
// 系统时钟初始化 - 不加入会报错 可以尝试一下
void SystemInit(void)
{
//对地址 0xE000ED88 的内容 进行修改:
//将0X3向左移动20位 或上 0X3 向左移动22位
*(unsigned int*) 0xE000ED88|=((3UL << 20U)|(3UL << 22U));
}
int main()
{
*(unsigned int*)0x56020C8C |=1<<2;
*(unsigned int*)0x52020800 &=~(1<<13);
*(unsigned int*)0x52020800 |=1<<12;
*(unsigned int*)0x52020804 &=~(1<<6);
//GPIO_OSPEEDR位27和位26写入00
*(unsigned int*)0x52020808 &=~(1<<13);
*(unsigned int*)0x52020808 &=~(1<<12);
//GPIO_ODR寄存器位13写入1 高电平
*(unsigned int*)0x52020814|=(1<<6);
return 0;
}
蜂鸣器
// 系统时钟初始化 - 不加入会报错 可以尝试一下
void SystemInit(void)
{
//对地址 0xE000ED88 的内容 进行修改:
//将0X3向左移动20位 或上 0X3 向左移动22位
*(unsigned int*) 0xE000ED88|=((3UL << 20U)|(3UL << 22U));
}
int main()
{
*(unsigned int*)0x56020C8C |=1<<0;
*(unsigned int*)0x52020000 &=~(1<<31);
*(unsigned int*)0x52020000 |=1<<30;
*(unsigned int*)0x52020004 &=~(1<<15);
//GPIO_OSPEEDR位27和位26写入00
*(unsigned int*)0x52020008 &=~(1<<31);
*(unsigned int*)0x52020008 &=~(1<<30);
//GPIO_ODR寄存器位13写入1 高电平
*(unsigned int*)0x52020014|=(1<<15);
return 0;
}
1829

被折叠的 条评论
为什么被折叠?



