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

cakephp网站开发框架保定网站建设公司

cakephp网站开发框架,保定网站建设公司,传媒公司排行榜,公司建官网要多少钱按键控制LED LED模块 左上角PA0用上拉输入模式#xff0c;如果此时引脚悬空#xff0c;PA0就是高电平#xff0c;这种方式下#xff0c;按下按键#xff0c;引脚为低电平#xff0c;松下按键#xff0c;引脚为高电平 右上角PA0#xff0c;把上拉电阻想象成弹簧 当按键…按键控制LED LED模块 左上角PA0用上拉输入模式如果此时引脚悬空PA0就是高电平这种方式下按下按键引脚为低电平松下按键引脚为高电平 右上角PA0把上拉电阻想象成弹簧 当按键松手时引脚由于上拉作用自然保持为高电平当按键按下时引脚直接接到GND有一股无穷大的力把这个引脚往下拉弹簧对抗不了无穷大的力所以已经为低电平这种情况引脚不会出现悬空状态所以此时PA0引脚可以配置为浮空输入或者上拉输入 如果是上拉输入那就会有两个上拉电阻然后它们共同作用这时高电平就会更强一些对应高电平就更加稳定不过也会有点瑕疵当引脚被强行拉低时损耗也就会更大一些 左边的PA0要设置乘下拉输入模式当按键按下时引脚为高电平松开时引脚回到默认低电平 不过最好还是设置成上拉输入模式了解一下就行 右边的PA0需要配置下拉输入模式或浮空输入模式 总结 这两个电路接法按键按下时引脚是低电平松手是高电平 这两个接法是按下时是高电平松手是低电平 传感器模块 D0数字输出随便接一个端口比如PA0 A0模拟输出目前不考虑 编程部分   复制之前的文件夹改成现在的按键控制LED名字 打开工程然后开始修改这里用模块化编程的思想来编写按键的程序和LED的程序 在工程文件夹新建Hardware用来存放硬件驱动也就是把按键程序和LED程序都放在这里面 然后点击这里 新建一个叫Hardware 创建成功就会出现右边这个 然后点击魔术棒 选择C/C,点击这个 把刚才新建的Hardwar文件夹添加到头文件的路径列表中这样就添加了一个Hardware文件夹 然后右键添加新的文件 选择第一个名字LED路径存在Hardwar文件夹里面然后点击ADD 然后继续创建 这样就建好了LED.C和LED.h两个文件用来封装LED的驱动程序 LED.c用来存放驱动程序的主体代码 LED.H用来存放这个驱动程序可以对外提供的函数或变量的声明 然后点开.c文件右键选择这个 .h文件要添加一个放在头文件重复包含的代码这里格式都是固定的,我们的函数和变量声明就放在这个括号里面 这里完成之后要注意在endif那块换行不然会有警告 然后就开始写LED.c文件开始写LED初始化函数这个函数用来初始化LED,只要是用外设来控制一定要打开时钟配置端口模式这写东西 这个就是上个LED灯的设置模式直接按原来的设置就行需要改变的就是引脚因为是两个灯所以控制Pin_1和Pin_2 这样LED初始化代码就写完了 这时只需要调用这个函数LED的两个GPIO口就初始化完成了 因为这个函数需要被外部引用所以复制这个函数放到LED.h文件里面这样就是对模块外部声明这个函数是可以被外部调用的函数 然后删除之前的代码在上面写这个来声明 然后在主函数里面直接调用LED_Init这样就完成了LED的初始化然后编译下载 这里就会看到灯都会亮说明端口配置和模块化编程没有问题亮是因为GPIO配置好了默认激素低电平 可以回到这里加上这个这样如果不操作LED灯就是灭的 然后开始正式编写功能代码 我们需要电路和熄灭LED函数 还是在这个里面编写这个函数就是用来点亮LED1的函数 这个函数使用来熄灭LED1的函数 然后复制粘贴编写LED2,点亮和熄灭函数把名字和引脚改一下 这就是打开和关闭LED2D函数了 然后把这四个函数放在LED.h文件声明一下这样LED的驱动函数模块就封装好了 然后在主函数调用 LED1就闪烁了 写上LED2的 两个灯会交替闪烁 然后开始写按键部分的代码 还是跟之前一样在Hardware里面创建Key.C和Key.h文件 还是一样的操作 在Key.C文件创建按键初始化函数在这里面我们把按键的两个端口都初始化为上拉输入模式 时钟启动写GPIOB 第七行因为我们要读取按键所以问你选择GPIO_Mode_IPU上拉输入 第八行因为我们按键接在了PB1和PB11口上所以写这两个选中1号和11号口 然后来写读取按键值的函数调用这个函数就可以返回按下按键的键码它的返回值就是uint8_t等价于unsigned char 初始化按键返回值然后返回KeyNum按键键码默认给0如果没有按键按下就返回0 然后写读取函数 读取函数介绍 这四个GPIO的读取函数 GPIO_ReadInputDataBit 它的作用是用来读取输入数据寄存器某一个端口的输入值的它的参数是GPIOx和GPIO_Pin,用来指定某一个端口 它的返回值是uint8_t,代表这个端口的高低电平读取按键就需要用到这个函数 GPIO_ReadInputData它的作用它是用来读取整个输入数据寄存器的参数只有一个GPIOx用来指定外设返回值是uint16_t是一个16位的数据每一位代表一个端口值 GPIO_ReadOutputDataBit它的作用是用来读取输出寄存器的某一个位它并不是用来读取端口的输入数据的这个函数一般用于输出模式下用来看一下自己输出的是什么 GPIO_ReadOutputData它的作用是用来读取整个输出寄存器的  看图来理解 所以说如果想要输入GPIO口的话就需要GPIO_ReadInputDataGPIO_ReadOutputDataBit这两个参数  如果在输出模式下想看要看现在看输出什么就用GPIO_ReadOutputDataBitGPIO_ReadOutputData 这就是这四个函数的用途 回到Key.c 因为需要读取外部输入的一个端口值所以需要GPIO_ReadInputDataBit这个函数 上面代码意思是如果0就代表按键按下然后又因为按键按下有抖动所以要消抖然后让KeyNum1返回到函数代表按键1按下 复制粘贴按键1的然后按键二改一下名字 然后再Key.h里面声明 然后初始化按键并且创建全局变量KeyNum 然后 上面代码意思就是如果按键1按下LED1灯亮如果按键2按下LED2熄灭 这就是这个操作了 我们需要的程序是按一下熄灭再按一下点亮也就是按键按下LED的状态取反所以继续编写 这就需要用到GPIO_ReadOutputBit的函数了 上面的函数逻辑就是调用这个GPIO_ReadOutputBit函数读取当前的端口的输出状态如果当前输出0就给它置1否则就置0这样就实现了端口的电平翻转 然后给LED2也加上翻转的功能 然后声明一下 然后修改一下就完成了 蜂鸣器模块 还是复制文件夹改名字 还是一样的步骤再Harewar文件夹添加蜂鸣器.c和.h文件 然后还是一样的步骤 逻辑跟LED.c是一样的还是开启时钟配置端口名字改一下改成Buzzer开头的把引脚改成Pin_12 这样蜂鸣器的驱动程序就完成了 然后去.h文件声明一下 添加这个头文件 初始化蜂鸣器 测试一下蜂鸣器响就没问题 然后来弄光敏传感器的模块还是一样的步骤再Hardware里面添加传感器.c和.h文件 还是一样的步骤 创建初始化传感器函数 选择的是GPIOB GPIO模式可以选择上拉输入模式如果这个模块始终都接在端口上也可以选择浮空输入只要保证引脚不会选课即可这里选择上拉输入模式引脚因为光敏传感器连接的是PB13号端口所以改成Pin_13 这样初始化就完成了 然后就写读取端口的函数因为要求比较简单所以直接写一个返回端口值的就行了 这就完成了 然后声明一下 添加这个 13行意思是如果光敏电阻感觉暗就响否则就不响 结束
http://www.hkea.cn/news/14453533/

相关文章:

  • 多国语言网站太原seo排名外包
  • dede做的网站被植入广告seo引擎优化外包
  • 广州海珠区房价seo整站优化网站建设
  • 网站怎么设计单位网站建设费用支出账务处理
  • 商丘网站建设公司网站建设方面的文章
  • 沈阳做网站价格织梦服务行业手机网站模板
  • 宿迁市建设局投诉网站设计网站设计目标
  • 网站建设合同 下载做商城网站需要准备那些
  • 网站推广建设网站开发 群
  • 电子商务网站建设工具wordpress 页面编辑失败
  • 城市建设理论研究收录网站加强网站及微信平台建设
  • 容易收录的网站投标网站怎么做
  • 沈阳网站建设024w网站建设网络课程
  • 个人网站设计及实现论文买一个域名大概多少钱
  • 查工程项目的网站博物馆设计
  • 网站查询备案服务商昆山市建设局招投标网站
  • 网页小游戏网址seo网上培训
  • 东莞网站制作培训多少钱国外手机设计网站推荐
  • 深圳专业网站建设排名北京如何优化网站
  • 做网站怎么接活商城网站开发价格
  • 网站建设三方协议上海网站建设的企
  • 网站建设申请方案学习html5的网站
  • 做门户网站用什么软件备案老域名
  • 广州模板网站建设价格百度浏览官网
  • 做网站方面住房和城建设网站
  • 自己做开箱网站济南快速网站排名
  • 公司展示网站制作深圳网站建设 培训
  • 黄骅做网站|黄骅网站|黄骅百度优化|黄骅百度推广|黄骅微信|黄骅网站建设 风险
  • 做个网站好还是做淘宝好西安外贸网站建设
  • word做招聘网站网站与网页的区别.