江科大STM32-3-3,3-4

这篇具有很好参考价值的文章主要介绍了江科大STM32-3-3,3-4。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、

江科大STM32-3-3,3-4,stm32,嵌入式硬件,单片机

图3
N1为可变电阻,阻值可根据环境的光线温度等进行变化,C2是滤波电容,给中间电压输出进行滤波,用来滤出一些干扰保持电压波形稳定。

当N1阻值变小时,下拉作用会增强,中间的AO端电压会拉低。极端情况下,N1阻值为0,AO输出被完全下拉,输出0V;当N1阻值变大,下拉作用减弱,中间的引脚由于R1的上拉作用,电压会升高;极端情况下,N1阻值无穷大相当于断路,输出电压被R1拉高至VCC。

二、硬件电路

江科大STM32-3-3,3-4,stm32,嵌入式硬件,单片机

1、按键按下PAO下拉到GND,PAO口读取低电平。(PAO悬空会出现引脚电压不确定)

PAO为上拉输入模式,引脚悬空,PAO为高电平。

上面两种接法按键按下时为低电平(采用上拉)

下面面两种接法按键按下时为高电平(采用下拉)

左边两种接法必须为上拉或下拉模式,右边两种接法可为悬空状态。

三、C语言数据类型

江科大STM32-3-3,3-4,stm32,嵌入式硬件,单片机

注意stm32中int占32位,如果要用16位数据,要用short表示。

C语言宏定义

关键字:#define

用途:用一个字符串代替一个数字,便于理解,防止出错;提取程序中经常出现的参数,便于快速修改

定义宏定义:

#define ABC 12345

引用宏定义:

int a = ABC; //等效于int a = 12345;

C语言typedef
关键字:typedef

用途:将一个比较长的变量类型名换个名字,便于使用

定义typedef:typedef unsigned char uint8_t;

引用typedef:uint8_t a; //等效于unsigned char a;

C语言结构体

江科大STM32-3-3,3-4,stm32,嵌入式硬件,单片机

C语言枚举
关键字:enum

用途:定义一个取值受限制的整型变量,用于限制变量取值范围;宏定义的集合。

•定义枚举变量:enum{FALSE = 0, TRUE = 1} EnumName;

因为枚举变量类型较长,所以通常用typedef更改变量类型名。

•引用枚举成员:

EnumName = FALSE;

EnumName = TRUE;

代码

LED闪烁

#include "stm32f10x.h" // Device header #include "Delay.h"

int main(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);

while (1)
{
    GPIO_ResetBits(GPIOA, GPIO_Pin_0);
    Delay_ms(500);
    GPIO_SetBits(GPIOA, GPIO_Pin_0);
    Delay_ms(500);
    
    GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);
    Delay_ms(500);
    GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);
    Delay_ms(500);
    
    GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)0);
    Delay_ms(500);
    GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)1);
    Delay_ms(500);
}
}

LED流水灯
#include "stm32f10x.h" // Device header #include "Delay.h"

int main(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_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 0001
    Delay_ms(100);
    GPIO_Write(GPIOA, ~0x0002); //0000 0000 0000 0010
    Delay_ms(100);
    GPIO_Write(GPIOA, ~0x0004); //0000 0000 0000 0100
    Delay_ms(100);
    GPIO_Write(GPIOA, ~0x0008); //0000 0000 0000 1000
    Delay_ms(100);
    GPIO_Write(GPIOA, ~0x0010); //0000 0000 0001 0000
    Delay_ms(100);
    GPIO_Write(GPIOA, ~0x0020); //0000 0000 0010 0000
    Delay_ms(100);
    GPIO_Write(GPIOA, ~0x0040); //0000 0000 0100 0000
    Delay_ms(100);
    GPIO_Write(GPIOA, ~0x0080); //0000 0000 1000 0000
    Delay_ms(100);
}
}

蜂鸣器
#include "stm32f10x.h" // Device header #include "Delay.h"

int main(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_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
#include "stm32f10x.h" // Device header #include "Delay.h" #include "LED.h" #include "Key.h"

uint8_t KeyNum;

int main(void) { LED_Init(); Key_Init();

while (1)
{
    KeyNum = Key_GetNum();
    if (KeyNum == 1)
    {
        LED1_Turn();
    }
    if (KeyNum == 2)
    {
        LED2_Turn();
    }
}
}

光敏传感器控制蜂鸣器
#include "stm32f10x.h" // Device header #include "Delay.h" #include "Buzzer.h" #include "LightSensor.h"

int main(void) { Buzzer_Init(); LightSensor_Init();

while (1)
{
    if (LightSensor_Get() == 1)
    {
        Buzzer_ON();
    }
    else
    {
        Buzzer_OFF();
    }
}
}文章来源地址https://www.toymoban.com/news/detail-844098.html

到了这里,关于江科大STM32-3-3,3-4的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式学习笔记——STM32硬件基础知识

    上一篇中我们重点是讲了一下怎么搭建开发环境以及怎么下载烧录的过程,这都是解决的电脑端的开发环境问题,还没有到实际的开发板上,我们的单片机是都是焊接在开发板上的,PCB上有着它所需的工作电路。并不是直接给供电电压就可以让其工作的,本文主要是简介一下

    2024年01月22日
    浏览(26)
  • 单片机STM32看门狗详解(嵌入式学习)

    单片机STM32的看门狗(Watchdog)是一种硬件定时器,用于监控系统的运行状态并在出现故障或死锁时采取措施以恢复正常操作。看门狗的主要功能是定期检查系统是否正常运行,并在系统出现问题时触发复位操作。 STM32系列单片机通常配备了内置的看门狗定时器(通常称为独立

    2024年02月13日
    浏览(20)
  • stm32毕设分享 Stm32酒驾检查系统 - 单片机 嵌入式 物联网

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月23日
    浏览(30)
  • stm32毕设分享 stm32实现车牌识别系统 -物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(37)
  • 嵌入式项目分享 stm32智能运动计步系统 - 物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(28)
  • stm32毕设分享 stm32智能运动计步系统 - 物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(23)
  • 嵌入式项目分享 stm32机器视觉的口罩佩戴检测系统 - 单片机 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(29)
  • 嵌入式STM32 单片机 GPIO 的工作原理详解

    STM32的 GPIO 介绍 GPIO 是通用输入/输出端口的简称,是 STM32 可控制的引脚。GPIO 的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 以 STM32F103ZET6 芯片为例子,该芯片共有 144 脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为

    2024年02月20日
    浏览(28)
  • stm32毕设分享 stm32单片机的远程WIFI密码锁 - 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(25)
  • stm32毕设分享 基于stm32的便携用电功率统计系统 -物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月22日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包