IT评测·应用市场-qidao123.com
标题:
STM32U575RIT6单片机(一)
[打印本页]
作者:
飞不高
时间:
2025-3-16 22:00
标题:
STM32U575RIT6单片机(一)
作业一:自己实现寄存器配置点亮LED1。
作业二:寄存器配置打开风扇,打开蜂鸣器。
//1、使能系统时钟
// 系统时钟初始化 - 不加入会报错 可以尝试一下
void SystemInit(void)
{
//对地址 0xE000ED88 的内容 进行修改:
//将0X3向左移动20位 或上 0X3 向左移动22位
*(unsigned int*) 0xE000ED88|=((3UL << 20U)|(3UL << 22U));
}
int main()
{
//小灯
//1、GPIOC的RCC寄存器地址,将位2置为1,使能GPIOC的RCC时钟
*(unsigned int *) 0x56020c8c |=1<<2;
//2、PC13,配置为通用输出模式,GPIO_MODER位27和26置为01
*(unsigned int*) 0x52020800 &=~(1<<27);
*(unsigned int*) 0x52020800 |=1<<26;
//3、PC13设置输出类型,GPIO_OTYPER寄存器推挽输出位13设置为0
*(unsigned int*) (0x52020800+0x04) &=~(1<<13);
//4、PC13设置为低速输出即可,GPIO_OSPEEDR位27和26置为00
*(unsigned int*) (0x52020800+0x08) &=~(1<<27);
*(unsigned int*) (0x52020800+0x08) &=~(1<<26);
//5、PC13设置为输出,GPIO_ODR寄存器高电平位13置1
*(unsigned int*) (0x52020800+0x14) |=(1<<13);
//蜂鸣器
//1、GPIOC的RCC寄存器地址,将位0置为1,使能GPIOC的RCC时钟
*(unsigned int *) 0x56020c8c |=1<<0;
//2、PA15,配置为通用输出模式,GPIO_MODER位27和26置为01
*(unsigned int*) 0x52020000 &=~(1<<31);
*(unsigned int*) 0x52020000 |=1<<30;
//3、PA15设置输出类型,GPIO_OTYPER寄存器推挽输出位15设置为0
*(unsigned int*) (0x52020000+0x04) &=~(1<<15);
//4、PA15设置为低速输出即可,GPIO_OSPEEDR位31和30置为00
*(unsigned int*) (0x52020000+0x08) &=~(1<<31);
*(unsigned int*) (0x52020000+0x08) &=~(1<<30);
//5、PA15设置为输出,GPIO_ODR寄存器高电平位15置1
*(unsigned int*) (0x52020000+0x14) |=(1<<15);
//风扇
//1、GPIOC的RCC寄存器地址,将位2置为1,使能GPIOC的RCC时钟
*(unsigned int *) 0x56020c8c |=1<<2;
//2、PC6,配置为通用输出模式,GPIO_MODER位13和12置为01
*(unsigned int*) 0x52020800 &=~(1<<13);
*(unsigned int*) 0x52020800 |=1<<12;
//3、PC6设置输出类型,GPIO_OTYPER寄存器推挽输出位6设置为0
*(unsigned int*) (0x52020800+0x04) &=~(1<<6);
//4、PC6设置为低速输出即可,GPIO_OSPEEDR位13和12置为00
*(unsigned int*) (0x52020800+0x08) &=~(1<<13);
*(unsigned int*) (0x52020800+0x08) &=~(1<<12);
//5、PC6设置为输出,GPIO_ODR寄存器高电平位6置1
*(unsigned int*) (0x52020800+0x14) |=(1<<6);
return 0;
}
//2、使能GPIO总线上的时钟
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4