- 博客(18)
- 收藏
- 关注
原创 原理图的编译与封装
原理图的编译常见的编译错误要设置成严重错误1)floating net labels网络标签悬浮网络标签没有连接到线上2)floating power objects3)nets with only one pin单端网络一般要设置为致命错误4)duplicate part designators重复位号编译设置完要报的错后编译画好的工程双击红色以跳转到报错处,修改错误...
2021-10-07 21:03:06
848
原创 原理图库创建与统一编号
基础准备建PCB工程(AD19)此时的projects栏创建原理图库此时的主页面元件的创建创建电阻设置栅格一般设置栅格为10mil画电阻元件双击线以设置颜色为蓝色放置电路管脚<!>四个白点的一端具有电器属性,用来连接其他元件选中管线+空格以翻转使四个白点的一段都向外双击列表里的元件,设置他的属性其中,Designator 设置时需要在末尾加 ?其他元件电容电感LED按键耳机接插口麦克风接插口晶体看门狗蜂鸣
2021-10-03 18:40:47
920
原创 LCD屏幕
LCD的一般使用步骤其中硬复位和初始化序列只需要执行一次显示需要相关设置步骤设置 STM32 与 TFTLCD 模块相连接的 IO将TFTLCD 模块相连的 IO 口进行初始化,以便驱动 LCD初始化 TFTLCD 模块初始化序列,就是向 LCD 控制器写入一系列的设置值(比如伽马校准),这些初始化序列一般 LCD 供应商会提供给客户,我们直接使用这些序列即可,不需要深入研究通过函数将字符和数字显示到 TFTLCD 模块上重要的函数结构体_lcd_dev用于设置LCD的重要参数集
2021-07-25 21:35:52
941
原创 定时器中断
三种 STM32 定时器高级定时器TIM1 TIM8用于 PWM 电机控制通用定时器TIM2 ~ TIM5用于定时计数,PWM输出,输入捕获,输出比较基本定时器TIM6 TIM7用于驱动 DAC功能特点位于低速的 APB1 总线上支持向上,向下,中心对齐 三种计数模式每个定时器都有四个通道1】输入捕获2】输出比较3】PWM 生成4】单脉冲模式输出...
2021-07-10 17:57:01
1226
原创 窗口看门狗(WWDG)
与独立看门狗的不同其喂狗的时间有一个上下限的范围可以通过设定相关寄存器,设置上限时间(下限固定)不能过早也不能过晚而独立看门狗则限制喂狗时间 ->(0,x)x由相关寄存器决定只是不能过晚so 更加精确作用把喂狗操作限制在一段时间内对时间的要求更加精确保证程序不会提前刷新也不会滞后刷新看门狗可以确定程序是否按照正常的路径运行而不是跳过了某段程序用到的函数库函数相关源码和定义分布在文件stm32f10x_wwdg.c 文件和头文件 stm32f10x_wwdg.h使能 WW
2021-05-14 18:03:31
729
1
原创 独立看门狗(IWDG)
看门狗——用于检测单片机程序运行状态的模块或芯片在由单片机构成的微型计算机系统中由于外界电磁场的干扰,会造成程序的跑飞,陷入死循环所以需要看门狗来实时检测单片机运行状态检测原理向键值寄存器写入 0xcccc,开始启用独立看门狗,此时计时器开始从复位值(oxfff)递减,当尾值达到 0x000 时产生复位信号任何时候,只要在键值寄存器中写入 0xaaaa(喂狗),自动装载寄存器的值就会查询加载到计时器,从而避免看门狗复位如果程序异常,就会无法正常按时喂狗,从而使计时器尾值达到 0x000 产生
2021-05-13 17:48:12
630
原创 外部中断
外部中断STM32 的每个 IO 口都可以作为外部中断的中断输入口STM32F103 的中断控制器支持 19 个外部中断/事件请求线 0~15:对应外部 IO 口的输入中断线 16:连接到 PVD 输出线 17:连接到 RTC 闹钟事件线 18:连接到 USB 唤醒事件每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置STM32 的中断线只有16个但其 IO 口则有几十上百个,远超总线数于是设计——GPIO 的管教 GPIOx.0~GPIOx.15(x=A,B,C,D,E,F
2021-05-09 20:17:00
642
原创 串口实验
usart 文件(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行接/收发送器SYSTEM 文件夹下包含 usart.c 和 usart.h用于串口的初始化和中断接收默认针对串口 1使用其他串口时需要修改代码usart.c包含两个函数void USART1_IRQHandler(void);void uart_init(u32 bound);一段代码用于支持 printf 函数,删去不会报
2021-05-06 20:37:36
360
原创 串口通信
处理器与外部设备的两种通信方法并行通信原理——数据各个位同时传输速度块,但占用引脚资源多串行通信原理——数据按位顺序传输占用引脚资源少,但速度较慢串行通信按数据传送方向分类单工数据传输只支持数据在一个方向上传输半双工允许数据在两个方向上传输,但同一时间只能有一个方向的传输是一种切换方向的单工通信全双工允许同时在两个方向上传输数据是两个单工通信方式的结合,要求发送和接收设备都有独立的接收和发送能力通信方式同步通信带时钟同步信号的传输异步通
2021-05-01 21:22:01
317
1
原创 NVIC 中断优先级管理
NVIC 中断优先级分组stm32 将中断分为 5 个组(0~4),抢占优先级 & 响应优先级(数字越小优先级越高)只有抢占优先级才可以打断,响应只是决定发生顺序高优先级的抢占优先级可以打断正在进行的低抢占优先级中断抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断响应优先级在抢占优先级相同的情况下才有意义抢占优先级相同的中断,当两个中断同时发生的情况下,响应优先级高的先执行如果两个中断的抢占优先级和响应优先级一样高,按中断发生顺序执行中断!)一般情况下,系统代
2021-04-30 13:57:03
503
原创 C语言——结构类型
枚举枚举是一种用户定义的数据类型,使用关键字 enum1)如果一个变量只有几种可能的值,则可以定义为”枚举类型“2)用“枚举类型来表示 int 常量”enum name{name1,....,namen};通常并不直接使用枚举类型的类型名,而是大括号内的名字其名字是常量符号,类型为 int ,值依次从 0 递增enum color{red,blue,green};该语句创建了三个 color 类型的常量red=0,blue=1,green=2当需要一些可以排列起来的常量值时,定义枚举
2021-04-25 20:16:18
767
原创 stm32的时钟
因为 STM32 十分复杂,外设非常多,而外设需要的系统时钟频率都不同,且 同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所以采用多时钟源来解决这些问题五个时钟源HSI HSE LSI LSE PLL分类——时钟频率HSI HSE PLL 为高速时钟LSI LSE 为低速时钟分类——来源HSE LSE 为外部时钟(外部时钟源为从外部通过接晶振的方式获取时钟源)LSI HSI PLL 为内部时钟HSI 是高速内部时钟,RC 振荡器,频率为 8MHz。HSE 是高速外部时钟,可
2021-04-25 16:27:48
232
原创 stm32中的基础知识
1. 位操作 define2. 宏定义关键词3. ifdef条件编译4. extern变量申明5. typedef类型别名结构体static关键字
2021-04-18 20:11:30
360
原创 按键输入——GPIO做输入
1)步骤使能按键对应 IO 口的时钟(所有操作的第一步)初始化 IO 模式扫描 IO 口电平2)按键扫描思路(两种)支持连续按芯片一定时间扫描一次,按住按键不放,则会被认为多次按下,触发多次效果不支持连续按按下一次再松开被视为一次, 按住不松开不会连续触发效果补充C语言的关键字 “static”static 申明的局部变量储存在静态储存区他在函数结束调用之后不会被释放,其值会一直保留下来即 static 定义的变量具有记忆功能例1int a(){ st
2021-04-17 10:30:53
2217
1
原创 库函数版本的跑马灯实验及基础知识
库函数版本的跑马灯实验使能 IO 口时钟。调用函数初始化 IO 口模式,调用函数操作 IO 口。输出高低电平实验基础知识工程文件的结构1)USER --存放用户代码main.c用来编写main函数2)CORE3)FWLIB4)SYSTEM5)README6)HARDWARE...
2021-04-11 20:57:41
717
原创 如何新建一个MDK5的工程模板---库函数版
如何新建一个MDK5的工程模板—库函数版1)新建文件夹,名字任意(以template为例)作为工程的根目录2)在新建的文件夹中建立 USER 文件夹3)打开 MDK5 在 USER 文件夹中新建工程会弹出该窗口用于选择cpu选择之后会弹出第二个窗口关闭即可(点×/Cancel)完成后的界面此时的 USER 中会生成如下的文件Template.uvprojx 是工程文件,非常关键,不能轻易删除DebugConfig 文件夹用于存储一些调试配置文件Listings 和 Objec
2021-04-04 21:59:04
2518
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人