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

电子商务网站建设过程范文郑州百姓网招聘

电子商务网站建设过程范文,郑州百姓网招聘,怎样做网上代理卖东西,专业网站推广的公司哪家好目录 GPIO LED 蜂鸣器 RCC外设 GPIO外设 总概 操作STM32的GPIO 代码 LED闪烁 LED流水灯 蜂鸣器! 连接方式 GPIO GPIO输出:向外驱动控制 GPIO输入:读取,捕获(信息)(控制&#xff09…

目录

GPIO

LED

蜂鸣器

RCC外设

 GPIO外设

总概

操作STM32的GPIO

代码

LED闪烁

LED流水灯

蜂鸣器!

连接方式


GPIO

GPIO输出:向外驱动控制

GPIO输入:读取,捕获(信息)(控制)


右侧两个二级管,阻止不在0-3.3V的电压流入内部电路(通过VDD,VSS将异常电流抹消) 

上拉电阻VDD/下拉电阻VSS:给输入提供默认电平,防止处于浮空状态,输入数据易被干扰不确定。

上通下断,上拉输入模式(默认为高电平的输入模式)//

都断,浮空输入模式

施密特触发器:对输入电压进行整形

中间留一定范围,避免因信号波动造成的输出抖动

位设置/清除寄存器:单独操作寄存器某一位(一般,寄存器操作的16个端口只能整体读写)

两个MOS管:电子开关,信号控制的开关。

推挽:P-MOS,N-MOS均有效。寄存器为1,P-MOS通N-MOS断,接VDD,输出高电平。寄存器为0,N-MOS通P-MOS断,接VSS,输出低电平。

开漏:仅N-MOS有效,仅低电平有驱动能力。

关闭:都无效,输出关闭,外部控制电平


输出时可以进行输入操作,输入时不能进行输出操作

LED

长脚+,短脚-极

内部较小+,较大-

选择看IO口高低电平的驱动能力

GPIO在推挽输出模式下,高低电平均有比较强的驱动能力(均可)

很多单片机或者芯片,都使用了高电平弱驱动,低电平的强驱动的规则(第一种)

蜂鸣器

有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定

中间引脚接低电平(低电平触发):响。高电平:灭

(无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音)

PNP三极管驱动,基极给低电平,三极管导通

NPN三极管驱动,基极给高电平,三极管导通

RCC外设 , GPIO外设

RCC外设

void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);

 GPIO外设

void GPIO_DeInit(GPIO_TypeDef* GPIOx);//复位指定的GPIO外设
void GPIO_AFIODeInit(void);//复位AFIO外设
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);//结构体变量赋默认值
//读取函数
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
//写入函数
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//设置高电平
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//设置低电平void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);//可单个引脚操作
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);//对16个端口进行写入操作

 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);

用结构体的参数初始化GPIO口,要先定义一个结构体变量,然后再给结构体赋值,最后调用这个函数。这个函数内部就会自动读取结构体的值,然后自动把外设的各个参数配置好。

总概

\bigstar操作STM32的GPIO

        使用RCC开启GPIO的时钟 :

外设的寄存器只有在时钟信号存在时才能被访问和配置

        初始化GPIO :

定义结构体变量,用于存储 GPIO 配置参数。

设置参数(*3)

        使用输出或输入的函数控制GPIO口:

电灯,推挽输出,GPIO_Mode_Out_PP。RESET低,SET高

这里是低电平点亮(推挽下都可以,把led倒着插也可以闪)

代码

LED闪烁

GPIO_WriteBit()

#include "stm32f10x.h"                  // Device header
#include "Delay.h"int main(void)
{//时钟开启GPIOA的RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//初始化GPIOGPIO_InitTypeDef GPIO_InitStructure;//结构体存放参数GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//参数设置*3GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);while(1){    //法一GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);//设为低电平Delay_ms(500);GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);//设为高电平Delay_ms(500);//法二GPIO_ResetBits(GPIOA, GPIO_Pin_0);					Delay_ms(500);										GPIO_SetBits(GPIOA, GPIO_Pin_0);					Delay_ms(500);		//法三:0,1指定,强制类型转换为BitAction枚举GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)0);		Delay_ms(500);										GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)1);		Delay_ms(500);	}}
LED流水灯

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;

法一:GPIO_Pin_All选择所有端口(0-7)

法二:按位或操作 GPIO_Pin_0 |   GPIO_Pin_1 |  GPIO_Pin_2······(0-15)(可)

GPIO_Write()整体操作(!!!!)(一个一个来没必要,太复杂)

(低电平点亮)所以   ~0x0001  ,   按位取反(c语言不支持直接写二进制,所以转化为16进制)

int main(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitTypeDef GPIO_InitStructure;//结构体存放参数GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//参数设置*3GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);while(1){	GPIO_Write(GPIOA, ~0x0001);	//0000 0000 0000 0001Delay_ms(100);				GPIO_Write(GPIOA, ~0x0002);	//0000 0000 0000 0010Delay_ms(100);				GPIO_Write(GPIOA, ~0x0004);	//0000 0000 0000 0100Delay_ms(100);				GPIO_Write(GPIOA, ~0x0008);	//0000 0000 0000 1000Delay_ms(100);				GPIO_Write(GPIOA, ~0x0010);	//0000 0000 0001 0000Delay_ms(100);				GPIO_Write(GPIOA, ~0x0020);	//0000 0000 0010 0000Delay_ms(100);				GPIO_Write(GPIOA, ~0x0040);	//0000 0000 0100 0000Delay_ms(100);				GPIO_Write(GPIOA, ~0x0080);	//0000 0000 1000 0000Delay_ms(100);			}
}
蜂鸣器!

GPIOB?Pin2                    低电平触发

int main(void)
{/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);	//开启GPIOB的时钟													GPIO_InitTypeDef GPIO_InitStructure;					GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;		GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;				//GPIO引脚,赋值为第12号引脚GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		GPIO_Init(GPIOB, &GPIO_InitStructure);																																		while (1){	GPIO_ResetBits(GPIOB, GPIO_Pin_12);		//设为低电平,鸣叫Delay_ms(100);							GPIO_SetBits(GPIOB, GPIO_Pin_12);		//高电平,停止Delay_ms(100);							GPIO_ResetBits(GPIOB, GPIO_Pin_12);		Delay_ms(100);							GPIO_SetBits(GPIOB, GPIO_Pin_12);		Delay_ms(700);							}
}

连接方式

LED闪烁 

LED流水灯

 

蜂鸣器 

CTRL+F搜索 

http://www.yayakq.cn/news/976452/

相关文章:

  • 四面山网站建设杭州网站优化公司
  • 做外贸的怎样才能上国外网站公司购买网站怎么做分录
  • 班级网站建设php电子商务网站建设概括
  • seo优化网站百度技术wordpress 微博主题 twitter主题
  • 没有网站如何做cpa推广网站开发里程碑
  • 公司网站制作注意事项品牌营销策划过程
  • 网站建设培训厦门discuz建网站
  • 宜昌做网站公司软件开发费和网站建设
  • 网站设计公司行业排名软装设计用什么软件
  • 做网站备案实名需要钱吗如何推广微信视频号
  • 邢台专业网站建设费用汕头模板建站软件
  • 德州有名的网站建设公司搬家公司电话附近
  • 做网站什么商品好网站建设策划方案t
  • 搭建网站要用到的工具wordpress博客主题下载
  • 东莞最好的网站成都网站建设培训学校
  • 图文广告公司名称给甜品网站做seo
  • 网站集约化建设情况空间和域名一年多少钱
  • 建设企业网银u盾网站打不开wordpress博客网站描述在哪里
  • 如何做网站首页收录创意广告公司名字
  • 重庆建设机电有限公司网站做招聘图片的网站
  • 电子商务网站盈利模式入职简历模板
  • 电子商务论文网站建设开发网站建设的问卷调查
  • 什么网站了解国家建设的行情免费发帖推广平台
  • 需求网站电商网站建设那家好
  • 学网站建设的学校大连招投标网官网
  • 宜宾市做网站多少钱怎样制作手机视频教程
  • 品牌网站如何做seowordpress level
  • 小程序运营主要做什么seo技术 如何优化网站内部结构
  • 事业单位网站建设算固定资产吗flash网站的优势
  • 鲜花网站建设规划书物业管理系统的设计与实现