STM8l051,ADC读电压,电量计。(边写边记录)

项目要求使用STM8L051F3芯片实现ADC采集电压得到电量的功能,之前没有接触过STM8,便在这里记录一下这个过程。

1.搭建环境:

STM8的软件开发环境似乎有很多,我这里使用的是IAR FOR STM8,具体的下载安装方法百度很多,我是参考的这个教程:http://blog.csdn.net/ybhuangfugui/article/details/52936636,里边提供有IAR注册机。

下载安装完毕后可以去ST官网下载库文件,链接:http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm8-embedded-software/stsw-stm8016.html,也可以自己去官网下载“stsw-stm8016”这个文件,

库文件有很多示例,很有帮助。

2.新建工程

时间: 2024-10-06 06:41:18

STM8l051,ADC读电压,电量计。(边写边记录)的相关文章

Linux多线程实践(6) --Posix读写锁解决读者写者问题

Posix读写锁 int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock, const pthread_rwlockattr_t *restrict attr); int pthread_rwlock_destroy(pthread_rwlock_t *rwlock); int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock); int pthread_rwlock_wrlock(pthre

STM32 ADC 测电压

1. STM32F103 ADC 本例使用STM32F103芯片的PA1引脚测试模拟输入的电压值. 查看文档<STM32F103X.pdf>第31页,引脚定义图: 得知PA1使用ADC1的通道1. 查看文档<STM32F103X.pdf>第13页,时钟树图: 得知ADC1可2,4,6,8分频,又ADC输入时钟不得超过14MHZ(参见STM32参考手册RM0008第11章ADC). //初始化ADC //这里我们仅以规则通道为例 //我们默认将开启通道0~3 void Adc_Ini

用信号量和读写锁解决读者写者问题

读者写者问题是非常经典的同步问题,本文首先用信号量来解决这个问题,并结合代码分析什么是读者优先.什么是写者优先,然后给出读写锁的解决方案,并指出在Linux下读写锁的注意事项. 读者写者问题 读者写者问题描述的是这么一种情况:对象在多个线程(或者进程)之间共享,其中一些线程只会读数据,另外一些线程只会写数据.为了保证写入和读取的正确性,我们需要保证,只要有线程在写,那么其他线程不能读,否则可能读到写了一半的数据:另外,也不能有两个线程同时写,否则导致数据错乱.当然,多个线程是可以同时读数据. 读

node中的可读流和可写流

javascript的一个不足之处是不能处理二进制数据,于是node中引入了Buffer类型.这个类型以一个字节(即8位)为单位,给数据分配存储空间.它的使用类似于Array,但是与Array又有不同:Buffer在定义的时候必须明确知道其长度,但是Array的长度是可以动态变化的.定义Buffer有三种方式: 1. var buf = new Buffer(3);//指定buffer占用3个字节 2. var buf = new Buffer("hello","utf-8&

linux c 文件 read(读) 和 write (写) 代码分析

read code: [[email protected] 03]# cat ex03-read-01.c /*文件ex03-open-03.c, O_CREAT和O_EXCL的使用*/ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> int main(void) { int fd = -1,i; ssize_t size = -1; /*存

使用读写锁解决读者-写者问题

读写锁 读写锁适合于对数据结构的读次数比写次数多得多的情况.因为,读模式锁定时可以共享,以写 模式锁住时意味着独占,所以读写锁又叫共享-独占锁. 初始化和销毁: #include <pthread.h> int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock, const pthread_rwlockattr_t *restrict attr); int pthread_rwlock_destroy(pthread_rwlock_t

使用OpenCV读、操作、写图像并与bash合作对某个目录下所有图像进行类似处理

我门要对某个目录下所有图像文件进行统一处理,如果图像的数量过多,那么手动地一张张处理就会显得有些麻烦.本文使用OpenCV和bash来完成我们指定的任务. 任务 将目录A下的所有统一格式的jpg图像变成统一尺寸的图像,输出到目录B中.A目录下图像的宽度和高度需要去掉最后一列.最后一行,并且使得输出图像的高度小于宽度. 技术 OpenCV读取图像:访问图像中的元素:OpenCV写图像到磁盘. BASH扫描每个输入图像:确定输出图像名称. OpenCV对图像进行处理 源代码如下: #include

Elasticsearch 读时分词、写时分词

初次接触 Elasticsearch 的同学经常会遇到分词相关的难题,比如如下这些场景: 为什么明明有包含搜索关键词的文档,但结果里面就没有相关文档呢?我存进去的文档到底被分成哪些词(term)了?我自定义分词规则,但感觉好麻烦呢,无从下手 如果你遇到过类似的问题,希望本文可以解决你的疑惑. 1. 上手 让我们从一个实例出发,如下创建一个文档: 然后我们做一个查询,我们试图通过搜索 eat 这个关键词来搜索这个文档 ES的返回结果为0.这不太对啊,我们用最基本的字符串查找也应该能匹配到上面新建的

python-操作excel(读-xlrd模块、写-xlwt模块)

1.读excel:xlrd模块 import xlrd #1.先打开excelxls01 = xlrd.open_workbook('处女座学员名单.xlsx') #不在当前目录下就写绝对路径 #2.获取sheet页sheet1 = xls01.sheet_by_index(0) #sheet_by_index:按照索引——第一个sheet2 = xls01.sheet_by_name('作业') #sheet_by_name:按照名字——作业 #3.获取具体的数据:print(sheet2.r