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

网站建设的职业叫什么唐山百度提升优化

网站建设的职业叫什么,唐山百度提升优化,有哪个网站能卖自己做的衣服,王烨库克设置按键中断,按键1按下,LED亮,再次按下,灭 按键2按下,蜂鸣器叫,再次按下,停 按键3按下,风扇转,再次按下,停 主函数: linuxlinux:~/study/08-c$…

设置按键中断,按键1按下,LED亮,再次按下,灭
按键2按下,蜂鸣器叫,再次按下,停
按键3按下,风扇转,再次按下,停

主函数:

linux@linux:~/study/08-c$ cat main.c 
#include "uart.h"
#include "key_it.h"
int main()
{char c;char *s;uart4_init();//串口初始化all_led_config();//灯泡初始化//中断初始化key_it_config();key3_it_config();while(1){//保证主程序不结束}return 0;
}

头文件:

linux@linux:~/study/08-c$ cat include/key_it.h 
#ifndef __KEY_IT_H__
#define __KEY_IT_H__
#include "stm32mp1xx_rcc.h"
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_exti.h"
#include "stm32mp1xx_gic.h"void key_it_config();
void key3_it_config();
void all_led_config();#endif

初始化文件:

linux@linux:~/study/08-c$ cat src/key_it.c
#include"key_it.h"void all_led_config()
{//GPIOE时钟使能(*(unsigned int*)0X50000A28)  |= (0X1<<4);//PE10设置为输出模式*((unsigned int *)0X50006000) &= (~(0X3<<20));*((unsigned int *)0X50006000) |= (0X1<<20);//PB6设置为输出模式*((unsigned int *)0X50003000) &= (~(0X3<<12));*((unsigned int *)0X50003000) |= (0X1<<12);//PE9设置为输出模式*((unsigned int *)0X50006000) &= (~(0X3<<18));*((unsigned int *)0X50006000) |= (0X1<<18);//PE10设置为推挽输出*((unsigned int *)0X50006004) &= (~(0X1<<10));//PE9设置为推挽输出*((unsigned int *)0X50006004) &= (~(0X1<<9));//PB6设置为推挽输出*((unsigned int *)0X50003004) &= (~(0X1<<6));//PE10设置为低速输出*((unsigned int *)0X50006008) &= (~(0X3<<20));//PE9设置为低速输出*((unsigned int *)0X50006008) &= (~(0X3<<18));//PB6设置为低速输出*((unsigned int *)0X50003008) &= (~(0X3<<12));//PE10设置无上拉下拉电阻*((unsigned int *)0X5000600C) &= (~(0X3<<20));//PE9设置无上拉下拉电阻*((unsigned int *)0X5000600C) &= (~(0X3<<18));//PB6设置无上拉下拉电阻*((unsigned int *)0X5000300C) &= (~(0X3<<12));
}void key3_it_config()
{//RCC使能GPIOF时钟RCC->MP_AHB4ENSETR |= (0x1<<5);GPIOF->MODER &= (~(0x3<<16));EXTI->EXTICR3 &=(~(0xFF<<0));EXTI->EXTICR3 |= (0x5<<0);EXTI->FTSR1 |= (0x1<<8);EXTI->C1IMR1 |= (0x1<<8);GICD->ISENABLER[3] |= (0X1<<2); GICD->IPRIORITYR[24] &= (~(0X1F<<19)); GICD->ITARGETSR[24]  &= (~(0X3<<16));GICD->ITARGETSR[24] |= (0X1<<16);
}
void key_it_config()
{//RCC使能GPIOF时钟RCC->MP_AHB4ENSETR |= (0x1<<5);//设置PF9 PF7 PF8GPIO输入//PF9GPIOF->MODER &= (~(0x3<<18));//PF8// GPIOF->MODER &= (~(0x3<<16));//pf7GPIOF->MODER &= (~(0x3<<14));//设置PF9 PF7 PF8产生EXTI事件 EXTI_EXTICRx//pf7EXTI->EXTICR2 &=(~(0xFF<<24));EXTI->EXTICR2 |= (0x5<<24);//pf8// EXTI->EXTICR3 &=(~(0xFF<<0));// EXTI->EXTICR3 |= (0x5<<0);//pf9EXTI->EXTICR3 &=(~(0xFF<<8));EXTI->EXTICR3 |= (0x5<<8);//设置事件触发方式为下降沿触发EXTI_FTSR1//pf7EXTI->FTSR1 |= (0x1<<7);//pf8// EXTI->FTSR1 |= (0x1<<8);//pf9EXTI->FTSR1 |= (0x1<<9);//设置EXTI事件触发不屏蔽EXTI_IMR1//PF7EXTI->C1IMR1 |= (0x1<<7);//PF8// EXTI->C1IMR1 |= (0x1<<8);//PF9EXTI->C1IMR1 |= (0x1<<9);//使能中断能转发到特定的CPU接口层GICD_ISENABLERx//PF7 97号中断GICD->ISENABLER[3] |= (0X1<<1); //PF78 98号中断// GICD->ISENABLER[3] |= (0X1<<2); //PF9 99号中断GICD->ISENABLER[3] |= (0X1<<3); // GICD_ISENABLERx设置中断优先级//PF7GICD->IPRIORITYR[24] &= (~(0X1F<<11)); //PF8// GICD->IPRIORITYR[24] &= (~(0X1F<<19)); //PF9GICD->IPRIORITYR[24] &= (~(0X1F<<27)); //设置当前中断被转发到哪一个CPU处理GICD_ITARGETSRx//pf7 97中断GICD->ITARGETSR[24]  &= (~(0X3<<8));GICD->ITARGETSR[24] |= (0X1<<8);//pf8 98中断// GICD->ITARGETSR[24]  &= (~(0X3<<16));// GICD->ITARGETSR[24] |= (0X1<<16);//pf9 99中断GICD->ITARGETSR[24]  &= (~(0X3<<24));GICD->ITARGETSR[24] |= (0X1<<24);//使能组0转发中断GICD_CTLRGICD->CTRL |= 0X1;//设置中断优先级掩码GICC_PMRGICC->PMR |= (0x1F<<3);//使能CPU可以处理组0转发的中断GICC_CTLRGICC->CTRL |= 0X1;}

中断处理文件:

linux@linux:~/study/08-c$ cat src/do_irq.c
#include "key_it.h"
extern void printf(const char *fmt, ...);
unsigned int i = 0;
void do_irq(void)
{int irqno; // 保存中断号printf("%d\n",irqno);irqno = GICC->IAR & 0X3FF;switch (irqno){case 99: // key1// 按键1中断处理printf("KEY1 INT\n");*((unsigned int *)0X50006014) ^= (0X1<<10);// 清除挂起中断标志位GICD_ICPENDRxGICD->ICPENDR[3] |= (0x1 << 3);// 清除中断触发标志位EXTI_FPR1EXTI->FPR1 |= (0x1 << 9);break;case 97: // key2// 按键2中断处理printf("KEY2 INT\n");*((unsigned int *)0X50003014) ^= (0X1<<6);// 清除挂起中断标志位GICD_ICPENDRxGICD->ICPENDR[3] |= (0x1 << 1);// 清除中断触发标志位EXTI_FPR1EXTI->FPR1 |= (0x1 << 7);break;case 98: // key3// 按键3中断处理printf("KEY3 INT\n");*((unsigned int *)0X50006014) ^= (0X1<<9);// 清除挂起中断标志位GICD_ICPENDRxGICD->ICPENDR[3] |= (0x1 << 2);// 清除中断触发标志位EXTI_FPR1EXTI->FPR1 |= (0x1 << 8);break;}// 清除处理完的中断号GICC_EOIRGICC->EOIR = irqno;
}

效果图:
1
2
3

http://www.zhongyajixie.com/news/29575.html

相关文章:

  • 国外 网站页面自己建网站怎么弄
  • 网站一键提交会计培训班一般收费多少
  • 苍南最好的网站建设公司seo渠道是什么意思
  • 手机网站制作费什么是搜索引擎营销?
  • 中国贸易网登录成都网站搭建优化推广
  • 云阳做网站公司在百度怎么推广
  • 扁平化设计网站 源码aso优化{ }贴吧
  • 网站管理规划方案百度总部投诉电话
  • 长沙网站建设公司哪家专业什么是网络营销的核心
  • 女和男做搞基视频网站新闻头条最新消息今天
  • 网站推广公司 sit太原高级seo主管
  • .net 网站模板 下载南京seo整站优化技术
  • 做网赌网站最近时政热点新闻
  • 自己怎么在网上做网站推广营销app
  • 大同网站建设网络营销课程设计
  • 做企业网站通常哪找素材厦门人才网唯一官网招聘
  • 做网站常用的背景图像下载百度网盘app
  • 域名和网站名要一样吗人工智能培训心得
  • php做网站要用到的技术做一个网站要花多少钱
  • 美国一级a做爰片免费网站 视频播放新媒体营销
  • 好网站建设公司哪里好山东网站seo
  • 公司建设网站的通知视频营销的策略与方法
  • 城乡和住房建设厅网站首页谷歌seo技巧
  • 临沂网站优化如何搜索引擎营销是指
  • 怎样做自己的公司网站网页制作软件下载
  • 公司建设网站的目的天津放心站内优化seo
  • 网站建设技术解决方案百度关键词搜索量排名
  • 做网站要学的技术中国刚刚发生的新闻
  • 优质做网站哪家好长沙今日头条新闻
  • 怎么建立微信大转盘的网站服务浙江seo博客