嵌入式单片机
文章平均质量分 70
基础知识
Tony带水!
爱搞事!
展开
-
单片机双机通信之c语言
1.单片机A代码块/*发送程序*/#include<reg51.h>#define uchar unsigned charchar code map[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//'0'~'9'void delay(unsigned int time){ unsigned int j = ...原创 2020-04-17 21:53:07 · 3670 阅读 · 2 评论 -
uC/OS-II任务控制块的数据结构
任务控制块(TCB)主要由指向任务堆栈的指针、指向前一个任务控制块的指针、指向后一个任务控制块的指针及任务的优先级等构成。如果用 C 语言描述任务 TCB,则代码片断如下:typedef struct os_tcb {OS_STK *OSTCBStkPtr; /* Pointer to current top of stack*/#if OS_TASK_CREATE_EXT_EN …...原创 2020-04-17 21:41:24 · 740 阅读 · 1 评论 -
易上手的STM32项目(22个)
1、(大赛作品)STM32F072RB NUCLEO智能家居控制.zip2、STM32数字示波器源码+数字信号处理教程、配套实例.zip3、低功耗STM32F411开发板(原理图+ PCB源文件+官方例程+驱动等) .zip4、基于stm32 nucleo_ L476的智能灯(操作说明+源码) .zip5、基于STM32 NUCLEO板设计彩色L ED照明灯(纯cubeMX开发) .zip6、基于STM32的联合调试侦听设备解决方案(原理图、PCB源文件、调试工具视频) .zip7、基于STM3原创 2021-05-30 19:55:11 · 61796 阅读 · 10 评论 -
stm32之中断
1、中断一般无特别说明,异常就是中断,中断就是异常。中断类型系统异常,体现在内核水平外部中断,体现在外设水平2、NVIC简介NVIC:嵌套向量中断控制器,属于内核外设,管理着包括内核和片上所有外设的中断相关的功能。两个重要的库文件:core_cm3.h和misc.hNVIC寄存器简介,core_cm3.h定义数组成员很多,一般用不到用不完。内核10个,外设60个中断,一共70个。数组预留几百个,哈哈。PS:最常用的是中断优先级寄存器。3、中断编程NVIC_InitT原创 2020-05-20 21:38:08 · 282 阅读 · 0 评论 -
stm32 startup_stm32f10x_hd.s出错解决办法
stm32启动文件解决办法方法1方法2方法1用注册机再次破解(选型ARM而不是C51)(建议使用此种方法)第一步:用管理员身份打开keil,选择“File”——>“Licence Management”第二步:复制CID码第三步:管理员身份运行注册机,粘贴刚才在keil复制的CID码到注册机的CID位置处,target选择“ARM”,然后点击generate,复制出现在generate上方的序列号。第四步:把在注册机复制的序列号粘贴填写到“New License ID Code (L原创 2020-05-20 15:36:43 · 11059 阅读 · 0 评论 -
STM32 时钟树主系统时钟
HSE:High Speed External Clock signal,即高速的外部时钟。来源:无源晶振(4-16M),通常使用8M。控制:RCC_CR时钟控制寄存器的位16:HSEON控制原创 2020-05-15 16:37:45 · 579 阅读 · 0 评论 -
stm32 keil编程 代码烧写问题
32 keil编程问题1、SWD和JTAG问题1、SWD和JTAG问题用CMSIS-DAP Debugger烧写程序出现SWD/JTAG Communication Failure、Flash Download failed问题解决办法一:打开创建工程文件夹,找到里面后缀为uvoptx的文件,把它替换掉,重新打开工程就行了。解决办法二:1、stm32不小心把SWD和JTAG都给关了,程序下载不进去,解决办法:板子上电之前见BOOT0引脚接到3.3V高电平板子上电BOOT0置地电平重新烧录原创 2020-05-14 16:05:57 · 2031 阅读 · 0 评论 -
stm32 keil编程 指定头文件路径
作用:指定头文件路径之后,keil编程软件会优先到你创建的文件夹里找头文件,而不是到keil编程软件的安装目录的芯片包里面找头文件。第一步第二步第三步第四步第五步 这里需要找到头文件的根目录,上一级目录是不行的(添加头文件即可)检验是否成功指定头文件路径:(搞都搞了验证一下还是有必要的)找到你已经指定路径的头文件。这里我以bsp_led.h为例。在keil中打开bsp_led.c,选中bsp_led.h,右键,点击“Go to Headerfile"bsp_led.h"”以上操原创 2020-05-14 09:56:55 · 6437 阅读 · 1 评论 -
STM32F103 使用寄存器点亮LED(两个LED的闪烁+流水灯)
//置位操作:|=,清0操作:&=~#include "stm32f10x.h"void Delay(__IO u32 nCount);int main(void){ //打开 GPIOB 端口的时钟 *(unsigned int * )0x40021018 |= ((1)<<3); //配置IO(PB5)口为输出 *(unsigned int * )0x40010C00 |= ((1)<<原创 2020-05-11 20:30:54 · 3989 阅读 · 1 评论 -
stm32F103 学习笔记
stm32F103 学习笔记1.端口输出寄存器1.1编写地址问题1.端口输出寄存器8.1.4 端口输出寄存器GPIOx_ODR> 地址偏移:0Ch //相对于GPIOB的基地址偏移 > 复位值:0x0000 0000> 32位,32至166位保持为0> ODRy[15:0]:端口输出数据(y = 0…15) (Port output ...原创 2020-05-08 15:51:34 · 1072 阅读 · 0 评论 -
包含头文件使用 书名号与双引号的区别(直接打符号竟然发表不了,太难了)
<>表示头文件在keil5软件安装目录(根目录)下,编译时软件到安装目录找头文件。""表示头文件在当前的工程目录下,如果找不到头文件再到安装目录的根目录找。...原创 2020-04-20 23:19:31 · 2447 阅读 · 0 评论