嵌入式
STM32、51
我是唐
这个作者很懒,什么都没留下…
展开
-
*** ERROR L107: ADDRESS SPACE OVERFLOW
两种原因:<1>RAM超了<2>ROM超了在51系列中data,idata,xdata,pdata的区别:data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。ida...原创 2019-01-29 13:41:54 · 28175 阅读 · 5 评论 -
NTC热敏电阻温度计算
方法一https://blog.csdn.net/qq_41673920/article/details/86736722方法二https://blog.csdn.net/qq_41673920/article/details/86737656 两种方法计算温度值相差大概0.2度,精确度差不多方法一代码占用大概500字节方法二因为包含了math.h头文件,大概占有1k字...原创 2019-02-01 11:52:59 · 5074 阅读 · 0 评论 -
方法一 NTC热敏电阻转换温度的计算方式(分段法)
一.硬件STC15W408AS单片机 10KNTC热敏电阻二.资料热敏电阻阻值温度对应表 -30摄氏度~240摄氏度对应的阻值 每个温度对应一个阻值三.计算方法根据需求,我这测试只用选取0~100度区间就OK了.也就是100个点 , 用表格绘制曲线图.Y轴是温度,X轴是电阻值,单位KΩ.这是一个非线性曲线,所以我们很难求解. 所以不如把它划分成多个区间,每个区间都是...原创 2019-02-01 11:10:56 · 27956 阅读 · 6 评论 -
方法二 NTC热敏电阻转换温度的计算方式
一.硬件STC15W408AS单片机 10KNTC热敏电阻 二.资料 NTC 热敏电阻温度计算公式Rt = R *EXP(B*(1/T1-1/T2))这里T1和T2指的是K度即开尔文温度,K度=273.15(绝对温度)+摄氏度;其中T2=(273.15+25)Rt 是热敏电阻在T1温度下的阻值;R是热敏电阻在T2常温下的标称阻值;B值是热敏电阻的重要参数;E...原创 2019-02-01 11:46:37 · 15804 阅读 · 5 评论 -
51单片机(STC15W408AS)映射printf函数 串口收发实现
前提:实现串口收发数据/************************************************* *函数名称:char putchar(char c) *功 能:映射printf *参 数:char c ...原创 2019-01-29 15:21:57 · 8626 阅读 · 2 评论 -
FreeRTOS 配置文件
熟悉FreeRTOSConfig.h主配置文件#define configUSE_PREEMPTION 1 //1为抢占式调度器 0为协作式任务调度器#define configUSE_IDLE_HOOK 0 //1使能idle hook才会调用空闲钩子函数 0则禁止#define configUSE_TICK_HOOK 0 //1使...原创 2019-02-22 17:57:53 · 406 阅读 · 0 评论 -
Keil5手动添加Device
1. 进入MDK官网比如我要添加Stm32F103系列芯片,找到ST公司的http://www.keil.com/dd2/stmicroelectronics/stm32f103c8/#/eula-container2. 手动点击下载 ,不需要登录账号,直接进入后台下载.下载完成之后双击运行.3. 进入自动安装,等待安装完成后,打开Keil5,查看大功告成,添加完成!...原创 2019-03-18 17:52:55 · 26501 阅读 · 1 评论 -
ARM寄存器的操作方法
#define GPIOCOUT *((volatile unsigned int *)0xc001c000)#define GPIOCOUTENB *((volatile unsigned int *)0xc001c004)#define GPIOCALTFN0 *((volatile unsigned int *)0xc001c020)void delay(unsign...原创 2019-01-28 15:29:55 · 1084 阅读 · 0 评论 -
STM32f103 串口接收不定长数据
推荐方法三方法1:串口接受数据,定时器来判断超时是否接受数据完成。方法2:DMA接受+IDLE中断实现思路:采用STM32F103的串口1,并配置成空闲中断IDLE模式且使能DMA接收,并同时设置接收缓冲区和初始化DMA。那么初始化完成之后,当外部给单片机发送数据的时候,假设这帧数据长度是200个字节,那么在单片机接收到一个字节的时候并不会产生串口中断,而是DMA在后台把数据默...原创 2018-12-12 13:48:08 · 9098 阅读 · 2 评论 -
STM32 f103 实现命令终端
文件说明uart.c 实现输入反显及命令识别cmd.c实现命令函数及命令查找main.c进入shell模式 uart.c#include "usart.h"/***************************************************************************** 名 称:void USART1...原创 2018-12-07 14:04:06 · 2994 阅读 · 0 评论 -
Keil5 解决编译通过显示红叉
第一步点击设置第二步关掉动态语法检查原创 2018-12-20 10:56:07 · 4190 阅读 · 0 评论 -
STM32 易阅读的代码风格
命名方式变量全局变量(驼峰命名法)USART_RxCounter、ColorValue、ADC_Value局部变量(下划线命名法)usart_rx_counter、color_value、adc_value函数所有函数(驼峰命名)USART_Init();HardwareInit();CheckValue();代码风格基本语句风格/*if语句---(外层if语句)*/...原创 2018-12-20 10:48:39 · 899 阅读 · 0 评论 -
STM32 F103 时钟树详解
刚入STM32 用了也有一段时间了,先做了中断,CAN,SPI。都是跟着网上的例子直接粘贴外设的初始化代码,看的大概能懂,但是时钟一直迷迷糊糊,不清不楚。 STM32为了实现低功耗,而设计的功能完善构成复杂的时钟系统,称之时钟树。使外设功能的时钟可自配置。因为STM32外设众多,而不同的项目用到的外设参差不齐,所以可控的时钟可以实现降低产品功耗。 ...原创 2018-09-20 14:48:50 · 29518 阅读 · 1 评论