您的位置:首页 > 财经 > 金融 > 广告联盟app下载赚钱_网络优化软件哪个好_黄山网络推广公司_德阳seo优化

广告联盟app下载赚钱_网络优化软件哪个好_黄山网络推广公司_德阳seo优化

2024/12/23 7:06:14 来源:https://blog.csdn.net/m0_74246768/article/details/144278444  浏览:    关键词:广告联盟app下载赚钱_网络优化软件哪个好_黄山网络推广公司_德阳seo优化
广告联盟app下载赚钱_网络优化软件哪个好_黄山网络推广公司_德阳seo优化

Cubemx配置

打开cubemx。

前面的配置与前文一样,这里主要配置基本定时器的定时功能。

1.在Timer中点击TIM6,勾选activated。配置Parameter Settings中的预分频器(PSC)和计数器(auto-reload Register)

补充:

定时器工作频率=内部总线频率/PSC+1

定时频率=定时器工作频率/Period+1  =内部总线频率/((PSC+1)*(Period+1 ))

示例:总线频率80MHz,预分频80-1,重装载1000-1

定时频率= 80M/80*1000=1khz 周期为1ms

2.配置PSC为80-1,计数器为1000-1。

3.将自动重装载(auto-reload )设置为使能(Enable)。

4.点击NVIC Settings,勾选中断使能。

点击GENERATE CODE.  

配置keli

将main.c中的tim.h添加到my_main.h文件中。

1.使能TIM6中断

HAL_TIM_Base_Start_IT(&htim6)

用于启动定时器基本功能并且开启定时器中断的函数。其主要目的是让指定的定时器开始按照预先配置好的参数(比如计数模式、预分频值、自动重装载值等)进行计数工作,并且当定时器计数达到相应条件(例如溢出等情况)时,会触发对应的定时器中断,进而可以在中断服务函数中执行相应的处理代码。

2.编写中断回调函数

点击stm32g4××_hal_tim.h,在大概2529行的位置找到中断回调函数进行复制。

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);

粘贴到my_main.c,用于配置定时器中断。

示例:利用按键函数测试定时中断是否有效。

点开cubemx,在上面配置的基础上,点击System Core中的NVIC,将Time Base优先级设置为4,TIM6 global interrupt优先级设置为5。点击GENERATE CODE.  

my_main.c

#include "my_main.h"
uint8_t led_sta=0x10;
char text[30];
void LED_Disp(uint8_t dsLED)
{HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,GPIO_PIN_SET);//所有LED熄灭(l小写)HAL_GPIO_WritePin(GPIOC,dsLED<<8,GPIO_PIN_RESET);//左移8位:控制C8-15引脚,值为1的点亮HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);//开锁存器HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);//关锁存器
}
void setup()
{HAL_TIM_Base_Start_IT(&htim6);LED_Disp(0x00);//关掉所有LEDLCD_Init();//LCD初始化LCD_Clear(Black);LCD_SetBackColor(Black);LCD_SetTextColor(White);
}void loop()
{/*     LCD演示     */sprintf(text,"    number:%x  ",led_sta);LCD_DisplayStringLine(Line8,(uint8_t *)text);//局部刷新LCD_SetBackColor(Yellow);sprintf(text,"    T:%d                ",30);LCD_DisplayStringLine(Line5,(uint8_t *)text);//局部刷新LCD_SetBackColor(Black);sprintf(text,"    X:A01  ");LCD_DisplayStringLine(Line6,(uint8_t *)text);//局部刷新
}
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{/*     按键操作演示     */if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)==GPIO_PIN_RESET){HAL_Delay(10);if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)==GPIO_PIN_RESET){led_sta=(led_sta&0xfe)|0x01;led_sta=(led_sta&0xfd)|0x00;LED_Disp(led_sta);			}}if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==GPIO_PIN_RESET){HAL_Delay(10);if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==GPIO_PIN_RESET){led_sta=(led_sta&0xfd)|0x02;led_sta=(led_sta&0xfe)|0x00;LED_Disp(led_sta);	//180°翻转屏幕LCD_Clear(Black);REG_932X_Init1();}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com