当前位置: 首页 > news >正文

ip地址做网站泰安网站建设课程报告

ip地址做网站,泰安网站建设课程报告,宁夏固原住房和建设局网站,东莞网站建设及外包HALSTM32通用定时器EXTI实现单击/双击/长按功能 ✨在使用USB功率计的时候#xff0c;发现上面的一个按键实现多画面功能切换#xff0c;于是探索了一下是如何实现的#xff0c;将其实现的基本思路以及综合网上收集的相关实现方法#xff0c;粗陋的整理了一下#xff0c;将… HALSTM32通用定时器EXTI实现单击/双击/长按功能 ✨在使用USB功率计的时候发现上面的一个按键实现多画面功能切换于是探索了一下是如何实现的将其实现的基本思路以及综合网上收集的相关实现方法粗陋的整理了一下将其基本功能实现了一下具体的功能没有做只是做了一个简单的框架。 功能实现并不能保证每次处理的按键结果都如预期效果主要的影响因数是单击和双击之间的间隔时间每个人的手感或者每次按下的时间差异并不能像计算器那么准确和标准。 HAL STM32CubeMX工程配置 基于STM32F103芯片。 主要配置一个外部中断按键引脚。 GPIO引脚按键外部使用电路参考 配置一个定时器 NVIC中断使能以及优先级配置。 其他串口和I2C配置用于显示和调试输出。(这里根据个人需求配置个人推荐还是使用软件I2C实现比较好硬件I2C如果程序比较复杂cpu处理各种中断容易导致硬件I2C出错导致显示画面异常的情况。) 其他时钟配置和工程生成就不展示了根据个人情况配置。 ⛳功能实现 完善按键中断回调内容 //重写回调函数 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {/*判断是中断引脚*/if(GPIO_Pin KEY_Pin){Trg;HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_5);//状态翻转} }定时器中断回调函数 void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef* htim) {static uint32_t click 0;static char keyStatus 0;static char LongPress 0;if(htim -Instance TIM6){if(cnt_1ms 1000){cnt_1ms 0;HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);//状态翻转}if(Trg 0){keyStatus HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin);//读取按键状态click;if((click _debounce_ms) (keyStatus 1) (LongPress 0)) //1000{if((Trg 1) || (Trg 2)) //单击{Trg 0;funIndex ;printf(_click_ms,%d\r\n, funIndex);click 0;//清零}if(Trg 2) //双击{Trg 0;funIndex 2;printf(_doubleClick %d\r\n, funIndex);click 0;//清零}}if((click _press_ms) (keyStatus 0) (LongPress 0)) //1000{printf(_longPressStart\r\n);LongPress 1;}if((LongPress 1) (keyStatus 1)){LongPress 0;Trg 0;funIndex 3;//松开才赋值click 0;printf(_longPressStop %d\r\n, funIndex);}}if(funIndex 8)funIndex 0;} } oled驱动显示内容可以根据个人使用的屏幕规格型号自行完善个人使用的是SH1106 1.3“寸的OLED屏幕作为显示。按键菜单显示内容参考网上的内容。 unsigned char funIndex 0;//9和0-1-1 void menu11(void); void menu12(void); void menu21(void); void menu22(void); void menu23(void); void menu31(void); void menu32(void); void menu33(void); void menu34(void); //定义按键操作数据 KEY_TABLE table[9] {{0, 0, 1, 0, 2, (*menu11)},{1, 0, 1, 1, 4, (*menu12)},{2, 2, 3, 0, 5, (*menu21)},{3, 2, 3, 0, 7, (*menu22)},{4, 4, 4, 1, 4, (*menu23)},{5, 5, 6, 2, 5, (*menu31)},{6, 5, 6, 2, 6, (*menu32)},{7, 7, 8, 3, 7, (*menu33)},{8, 7, 8, 3, 8, (*menu34)}, };void ShowMenu(int16_t x, int16_t y,char *text) {OLED_ShowString(x, y, text, 12);//x,y,字符串字体大小 }//一级菜单1 void menu11(void) {// OLED_Clear();OLED_ShowString(36, 6, menu1-1, 16); }//一级菜单2 void menu12(void) { // OLED_Clear();OLED_ShowString(36, 6, menu1-2, 16); }//二级菜单1 void menu21(void) { // OLED_Clear();OLED_ShowString(36, 6, menu2-1, 16); }//二级菜单2 void menu22(void) { // OLED_Clear();OLED_ShowString(36, 6, menu2-2, 16); }//二级菜单3 void menu23(void) { // OLED_Clear();OLED_ShowString(36, 6, menu2-3, 16);}//三级菜单1 void menu31(void) { // OLED_Clear();OLED_ShowString(36, 6, menu3-1, 16); }//三级菜单2 void menu32(void) { // OLED_Clear();OLED_ShowString(36, 6, menu3-2, 16); }//三级菜单3 void menu33(void) { // OLED_Clear();OLED_ShowString(36, 6, menu3-3, 16); }//三级菜单4 void menu34(void) { // OLED_Clear();OLED_ShowString(36, 6, menu3-4, 16);}main主函数 int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_I2C1_Init();MX_USART1_UART_Init();MX_I2C2_Init();MX_TIM6_Init();/* USER CODE BEGIN 2 */OLED_Init();HAL_TIM_Base_Start_IT(htim6);ShowMenu(2, 0, OneKey Mul-Menu);/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while(1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */current table[funIndex].operation;//根据需要获取对应需要执行的函数(*current)();//执行获取到的函数}/* USER CODE END 3 */ }工程源码 链接https://pan.baidu.com/s/1eR14Lpfjqm7nA0lvwbv5xg 提取码vs7f
http://www.sadfv.cn/news/367959/

相关文章:

  • 做网站的属于什么专业哈尔滨网站建设公司那家好
  • 友汇网站建设一般多少钱南宁企业网站制作
  • 万全孔家庄做网站百度容易收录的网站
  • 哈尔滨市做网站自己制作小程序怎么做
  • 做外贸推广自己网站企业网站源码去一品资源网
  • 2019做网站图片用什么格式wordpress 怎么看
  • 网站服务器年线太长重庆酉阳网站设计公司
  • 网站建设与管理的体会手机网站cms
  • 英语培训网站源码拖拽式制作网站
  • 洪宇建设集团公司网站wordpress生成小程序
  • 金融网站怎么做湖南企业做网站
  • 怎么做文学动漫网站如何做招聘网站的对比
  • 1核2g+做网站好看的网站色彩搭配
  • 商城网站的管理用户模块龙岩市住房与城乡建设部网站
  • 群晖可不可以做网站用南京网站公司
  • 福州 网站设计提供模板网站制作多少钱
  • 温州人才网站开发app开发公司排行榜做软件的公司
  • 最好的商业网站西安工程网站建设
  • 网站建设哪里去学安徽网络优化公司
  • 网站建设需要哪些书籍网站背景色代码
  • 网站开发好难呀免费模板网站制作
  • 网站建设得缺点vr技术对网站建设的影响
  • 湖北网站优化公司网站开发都用什么语言
  • seo网站外包公司宁波网络推广软件
  • 代做网站dw网站设计步骤
  • 站长平台链接提交做淘宝店头的网站
  • 建设部规范网站怎样给公司做免费网站
  • seo网站建设步骤网站建设有没有资质
  • 网站建设需要英语吗网址英文
  • 新塘17网站一起做网店官网浏览器怎么打开网站服务器设置