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

网站建设前景如何wordpress二级目录创建

网站建设前景如何,wordpress二级目录创建,上海最有名的设计公司有哪些,做旅游在网上用什么网站推广目录 一、震动传感器介绍及实战 二、编程代码实现 1、gpio.c---------初始化GPIO口引脚函数 2、调用中断服务函数 3、中断服务函数 4、中断服务回调函数 5、把上述的中断服务回调函数#xff0c;放入main主函数里 6、结果演示 三、继电器介绍及实战 一、震动传感器介…目录 一、震动传感器介绍及实战 二、编程代码实现 1、gpio.c---------初始化GPIO口引脚函数 2、调用中断服务函数 3、中断服务函数 4、中断服务回调函数 5、把上述的中断服务回调函数放入main主函数里 6、结果演示 三、继电器介绍及实战  一、震动传感器介绍及实战 单片机供电VCC GND接单片机 产品不震动输出高电平、模块上的DO口 产品震动输出低电平绿色指示灯亮 AO口不用 5V代表正极 GND代表负极 DO口do是一种模拟信号或者数字信号接口 二、编程代码实现 需求当振动传感器接收到振动信号时使用中断方式点亮LED1。 1、gpio.c---------初始化GPIO口引脚函数 #include gpio.h void MX_GPIO_Init(void) //初始化GPIO口引脚函数 {GPIO_InitTypeDef GPIO_InitStruct {0}; //初始化设置GPIO的结构体/* GPIO Ports Clock Enable */__HAL_RCC_GPIOD_CLK_ENABLE(); //使能GPIOD时钟__HAL_RCC_GPIOA_CLK_ENABLE(); //使能GPIOA时钟__HAL_RCC_GPIOB_CLK_ENABLE(); //使能GPIOB时钟/*Configure GPIO pin Output Level */HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET); //GPIO引脚输出1或者0的函数/*Configure GPIO pin : PA4 */GPIO_InitStruct.Pin GPIO_PIN_4; //配置GPIO口引脚PA4GPIO_InitStruct.Mode GPIO_MODE_IT_FALLING; //下降沿触发检测的外部中断模式GPIO_InitStruct.Pull GPIO_NOPULL; //内部电阻既不拉高也不拉低HAL_GPIO_Init(GPIOA, GPIO_InitStruct); //根据上述内容初始化GPIOA引脚/*Configure GPIO pin : PB8 */GPIO_InitStruct.Pin GPIO_PIN_8; //配置GPIO口引脚PB8GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_PP; //推挽输出推挽输出可以真正能真正的输出高电平GPIO_InitStruct.Pull GPIO_NOPULL; //内部电阻既不拉高也不拉低GPIO_InitStruct.Speed GPIO_SPEED_FREQ_LOW; //GPIO引脚输出的频率HAL_GPIO_Init(GPIOB, GPIO_InitStruct); //根据上述内容初始化GPIOB引脚/* EXTI interrupt init*/HAL_NVIC_SetPriority(EXTI4_IRQn, 2, 0); //配置EXTI4_IRQn中断抢先优先级2响应优先级0HAL_NVIC_EnableIRQ(EXTI4_IRQn); //使能中断通道EXTI4_IRQn } 2、调用中断服务函数 #include main.h #include stm32f1xx_it.hvoid EXTI4_IRQHandler(void) //中断服务函数 {HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4); //调用中断处理公用函数根据输入的参数来判断到底输入的是哪个按键 } 3、中断服务函数 #include stm32f1xx_hal.h void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin) {/* EXTI line interrupt detected */if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) ! 0x00u) //确保是否产生了中断{__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); //清除中断标志位HAL_GPIO_EXTI_Callback(GPIO_Pin); //调用中断服务回调函数} } 4、中断服务回调函数 void SystemClock_Config(void); //因为这个函数在main函数中如果想要使用这个函数需要提前声明 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) //中断服务函数如果检测到EXTI中断请求则进入此函数 {//一根中断线上接有多个中断源判断中断源是否来自PA4if(GPIO_Pin GPIO_PIN_4){//如果检测到PA4被拉低if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_4) GPIO_PIN_RESET) //读取GPIOA4引脚输入是否为0{//则点亮LED1HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET); //指定GPIOB8引脚输出0HAL_Delay(3000); //延时3000msHAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET); //指定GPIOB8引脚输出1}}else{//如果未检测到PA4则关闭LED1HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET); //指定GPIOB8引脚输出1} } 5、把上述的中断服务回调函数放入main主函数里 #include main.h #include gpio.hvoid SystemClock_Config(void); //因为这个函数在main函数中如果想要使用这个函数需要提前声明 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) //中断服务函数如果检测到EXTI中断请求则进入此函数 {//一根中断线上接有多个中断源判断中断源是否来自PA4if(GPIO_Pin GPIO_PIN_4){//如果检测到PA4被拉低if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_4) GPIO_PIN_RESET) //读取GPIOA4引脚输入是否为0{//则点亮LED1HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET); //指定GPIOB8引脚输出0HAL_Delay(3000); //延时3000msHAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET); //指定GPIOB8引脚输出1}}else{//如果未检测到PA4则关闭LED1HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET); //指定GPIOB8引脚输出1} } int main(void) {HAL_Init(); //初始化HAL库函数SystemClock_Config(); //初始化系统时钟函数HAL_NVIC_SetPriority(SysTick_IRQn,0,0); //提高滴答定时器的中断优先级提升至0MX_GPIO_Init(); //初始化GPIO引脚 } void SystemClock_Config(void) //配置系统时钟函数 {RCC_OscInitTypeDef RCC_OscInitStruct {0};RCC_ClkInitTypeDef RCC_ClkInitStruct {0};RCC_OscInitStruct.OscillatorType RCC_OSCILLATORTYPE_HSE;RCC_OscInitStruct.HSEState RCC_HSE_ON;RCC_OscInitStruct.HSEPredivValue RCC_HSE_PREDIV_DIV1;RCC_OscInitStruct.HSIState RCC_HSI_ON;RCC_OscInitStruct.PLL.PLLState RCC_PLL_ON;RCC_OscInitStruct.PLL.PLLSource RCC_PLLSOURCE_HSE;RCC_OscInitStruct.PLL.PLLMUL RCC_PLL_MUL9;if (HAL_RCC_OscConfig(RCC_OscInitStruct) ! HAL_OK){Error_Handler();}RCC_ClkInitStruct.ClockType RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;RCC_ClkInitStruct.SYSCLKSource RCC_SYSCLKSOURCE_PLLCLK;RCC_ClkInitStruct.AHBCLKDivider RCC_SYSCLK_DIV1;RCC_ClkInitStruct.APB1CLKDivider RCC_HCLK_DIV2;RCC_ClkInitStruct.APB2CLKDivider RCC_HCLK_DIV1;if (HAL_RCC_ClockConfig(RCC_ClkInitStruct, FLASH_LATENCY_2) ! HAL_OK){Error_Handler();} } 如果直接在中断服务函数里调用 HAL_Delay 函数则会造成系统卡死。 原因程序初始化时默认把滴答定时器的中断优先级设为最低其它中断源很容易打断它导致卡 死。 解决在 main 函数里使用以下函数提高滴答定时器的中断优先级提升至0 HAL_NVIC_SetPriority(SysTick_IRQn,0,0); //提高滴答定时器的中断优先级提升至0 并且将 EXTI4 的中断优先级设置比滴答定时器的中断优先级低比如 2 。 6、结果演示 三、继电器介绍及实战  简单的说继电器就是小电流、小电压控制大电流、大电压。这就是常见的继电器这个是一路的。 继电器的IN口接到单片机的IO口 IN口连接的作用是IN连接上单片机会给IN一个低电平信号这个低电平信号会让继电器两端的COM口和NO口连接起来上电 接线方式 VCC接3.3V不可以接5V接5V会工作异常 GND接GND IN接任何一个通用GPIO口即可 把继电器接到STM32开发板上可以看到一碰震动传感器继电器上的绿灯会亮而且STM32开发板上的LED小灯也会跟着亮
http://www.dnsts.com.cn/news/223685.html

相关文章:

  • 怎么才能创个网站在线平面设计师招募
  • 网站建设行业的分析怎样用ps做电子商务网站
  • 花卉网站建设项目策划书seo 网站结构优化
  • 申请建设部门网站的报告美食攻略网站建设课程设计
  • 东莞网站平面设计公司临夏金属装饰网站建设
  • 内蒙古网站建站DW做注册网站
  • 网站建设200wordpress产品页面
  • 企业网站建设策划书标准版阿里巴巴网站威海哪里做?
  • 域名备案网站源码互联网公司做什么的
  • asp.net 网站设计广州中小学智慧阅读门户网站
  • 品牌网站推广软件网站数据不变重新安装wordpress
  • 免费做的英文网站全国 做网站的企业
  • 网站目录在哪里天元建设集团有限公司张桂玉丑闻
  • 广东制作公司网站现在做网站都是怎么做的
  • 岳西县建设局网站腾讯风铃wordpress
  • 做安居客网站需要什么浏览器乐清定制网站建设
  • 商品展示类网站做的王者荣耀钓鱼网站
  • 网站群建设的优点旅游小镇网站建设方案
  • 国外设计欣赏网站软件应用商店
  • 国外做糖网站ninety ajax wordpress
  • 网站建设与管理的总结报告免费博客网站有哪些
  • 专业做淘宝网站推广邢台123招聘信息网
  • 做 ps pr 赚钱的 网站长沙制作网页联系方式
  • 网站顶部下拉广告代码h5小程序
  • 枣强网站建设公司定西市建设局官方网站
  • 深圳外贸网站建设服务哪家好百度收录最高发帖网站
  • 制作个人网站的要求网站用户细分
  • 青岛网站建设优化qq刷赞网站怎么做
  • 淘客网站系统免费源码平台网站
  • 支付宝 手机网站支付接口2.0成都设计公司网站