完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include "stm8l15x.h"
#include "stm8l15x_gpio.h" #include "stm8l15x_itc.h" #include "stm8l15x_exti.h" #include "stm8l15x_clk.h" #include "stm8l15x_rtc.h" #include "stm8l15x_tim2.h" #include "stm8l15x_tim1.h" #include "stm8l15x_tim3.h" #include "stm8l15x_tim4.h" #include "stm8l15x_adc.h" #include "stm8l15x_pwr.h" // void Halt_init(); // void GPIO_LowPower_Config(void); // 无效延迟(__IO uint32_t nCount) { /* 减少 nCount 值 */ while (nCount != 0) { nCount--; } } 无效主要() { // 暂停初始化(); TIM1_Cmd(禁用); TIM2_CtrlPWM 输出(禁用); TIM2_Cmd(禁用); TIM3_Cmd(禁用); TIM4_Cmd(禁用); ADC_Cmd(ADC1,禁用); PWR_PVDCmd(禁用); /* 切换到 LSI 作为系统时钟源 */ /* 系统时钟预分频器:1*/ CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI); CLK_SYSCLKSourceSwitchCmd(启用); 而 (CLK_GetFlagStatus(CLK_FLAG_LSIRDY) == 0); CLK_HSICmd(禁用); CLK_HSEConfig(CLK_HSE_OFF); /* 将STM8设置为低功耗 */ PWR_UltraLowPowerCmd(启用); /* 将 GPIO 设置为低功耗 */ /* 将未使用的引脚配置为输出推挽 0 以进入低功耗 */ /* 端口 A */ GPIO_Init(GPIOA, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow); /* 端口 B 不是 AIN */ GPIO_Init(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_7,GPIO_Mode_Out_PP_Low_Slow); /* 端口 B LED,因此它们在开机时不会闪烁 */ GPIO_Init(GPIOB, GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5, GPIO_Mode_Out_PP_High_Slow); /* 端口 C 不是唤醒引脚!!*/ GPIO_Init(GPIOC,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6,GPIO_Mode_Out_PP_Low_Slow); /* 端口 D */ GPIO_Init(GPIOD, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow); /* 端口 E */ GPIO_Init(GPIOE, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow); /* 端口 F */ GPIO_Init(GPIOF, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow); /* 停止 RTC 源时钟 */ CLK_RTCClockConfig(CLK_RTCCLKSource_Off, CLK_RTCCLKDiv_1); /* 停止时钟 RTC 和 LCD */ CLK_PeripheralClockConfig(CLK_Peripheral_RTC, DISABLE); CLK_PeripheralClockConfig(CLK_Peripheral_LCD, DISABLE); GPIO_Init(GPIOC, GPIO_Pin_3, GPIO_Mode_Out_PP_Low_Fast); GPIO_ToggleBits(GPIOC, GPIO_Pin_3); 延迟(90000); EXTI_ClearITPendingBit(EXTI_IT_Pin7); 停(); GPIO_Init(GPIOE, GPIO_Pin_7, GPIO_Mode_Out_PP_Low_Fast); GPIO_ToggleBits(GPIOE, GPIO_Pin_7); 延迟(90000); } |
|
相关推荐
1个回答
|
|
你好。该行正在清除 EXTI_SR1 寄存器中的一位,这表明 MCU 中任何 pin7 上发生了外部中断。在 STM8L 设备中,您可以按引脚或端口配置 EXTI 中断(在第二种情况下,考虑了 EXTI_SR2 寄存器)。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2747 浏览 1 评论
3244 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1813 浏览 1 评论
3655 浏览 6 评论
6045 浏览 21 评论
1342浏览 4评论
204浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
359浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
451浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
277浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 13:01 , Processed in 0.953171 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号