![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32/STM8
文章平均质量分 73
船过水无痕
本人菜鸟一只,诚交各类小菜,牛人! 多多益善!!!
展开
-
神舟IV板 W25X16 FLASH范例使用
使用该例子做移植时,出现了形形色色的问题,按我最原始的想法,是将W25X16分成几个区域, 如下图:0x00000 ~ 0x00FFF (4K) 作为头信息,0x01000 ~ 0x01FFF (4K) 作为配置信息,0x02000 ~ 0x03FFFF (256K) 作为保留区域,从0x100000 ~ 0x1FFFFF (1M)作为数据区,以后还可以扩展成其他型号FLASH。原创 2011-11-22 11:23:23 · 3165 阅读 · 0 评论 -
STM8S103x STM8S903x 都存在唯一ID
翻阅手册,发现这两款都是存在唯一ID的,可用于做加密功能。网上之前搜索都是说指向0x48CD,不知道是不是针对其他系列的,反正STM8S103和903是肯定指向0x4865地址。STM8S103x 手册截图:STM8S903x 手册描述:如: STM8S103F3系列,实验验证如下:原创 2012-01-13 10:50:21 · 2857 阅读 · 2 评论 -
STM32 使用通用计时器实现微秒延时
STM32 使用通用计时器实现微秒延时为了驱动ARF2496K这款芯片,做STM32上的移植,所以第一步需要解决的就是时序问题,很显然在STM32下类似于51的延时方法并不适用,自然想到了采用定时器进行定时来延时。目前使用的是查询方式进行延时。环境: STM32F107主控,采用STLINK仿真代码如下:static void TIM5_Init_Query(CAL原创 2011-11-07 12:20:07 · 16070 阅读 · 1 评论 -
纠结的STM32 RTC时钟源LSE
一开始,所有实验都是在神舟板上去完成,根本就没有发现RTC的问题。直到我们自己画板来后调试时,才发现STM32 RTC的外部时钟源存在问题。这也算是STM32的一个鸡肋,对于LSE外部晶振太过于苛刻,手册上要求使用6pf,这个规格的晶振市场上太少,鱼龙混杂,中招的高手菜鸟不在少数。我们自己的板也是如此,几经波折,反反复复尝试使用不同的规格的晶振,替换外部的电容,电阻都没有能让这个32.768K原创 2012-01-07 13:17:42 · 27998 阅读 · 4 评论 -
STM8S 固件库GPIO设置问题
ST对STM8S系列都有提供固件库,而不同的版本自然存在一些不同,版本也一直从V1.0.0升级到目前的V1.1.1。环境: FWLIB V1.0.1版本,采用STM8SF103在使用GPIO库时,一个偶然发现stm8s_gpio.h中的宏定义是存在问题的。代码定义如下: *****************************************************原创 2011-12-15 14:56:31 · 9274 阅读 · 2 评论 -
STM8S103 独立按键检测
硬件环境采用STM8SF103,电压为3.3V。电路需要注意的是STM8SF103这系列的IO作为输入口时只能是上拉输入和悬浮输入,虽然是弱上拉,在VCC为3.3V电压时,仍然能够被拉升至3.0V左右。所以按键检测电路IO口一端需要接地,而不是外接上拉。悬浮方式下IO仍然会有0.89V左右电压,读取对应的IO寄存器IDR,仍然处于逻辑高电平状态。软件代码相对很简单,只需要将IO口设置成原创 2011-12-14 17:21:55 · 7546 阅读 · 0 评论 -
使用STM8SF103 ADC采样电压
硬件环境: STM8SF103 TSSOP20封装因为项目需要用到AD采样电池电压,于是便开始了使用STM8S ADC进行采样,也就有了下文。手册上对STM8S ADC的管脚描述如下:STM8SF103这款芯片是TSSOP 20管脚封装,如下:STM8SF103这款芯片能用的是5个AD采样通道,分别是AIN2~AIN6。其实是还有一个通道AIN7,但手册并没有对其描原创 2011-12-14 18:04:18 · 32008 阅读 · 4 评论 -
STM8S 定时器的使用
看了网上的资源,都不怎么好用,于是决定总结总结,记录下定时器的简单实用方法。环境: STM8SF103 ,仿真器为:STLINKTIM4 属于8位定时器,最大128分频。这个定时器的时钟源是系统时钟源(fMaster),然后直接通过预分频器分频后供CK_CNT使用。如:系统频率为4MHz,经过128分频后,提供给定时器使用的频率就为 31250Hz因为项目需要,我这里使用的原创 2011-11-09 12:57:40 · 24721 阅读 · 13 评论 -
STM8S 中断唤醒,定时唤醒,窗口看门狗
一、 STM8S 外部中断进行唤醒先了解一下STM8S的中断资源再看看STM8S的中断管理。STM8S采用软件优先级和硬件优先级来控制一个中断的响应,先比较软件优先级只有当软件优先级一致时才会比较硬件优先级,由于硬件优先级具有唯一性,这样便保证了某一时刻定会只有一个中断被处理。要使用外部中断,只需简单的配置一下EXTI_CR1寄存器,并将主程序main的软件优先级置为0原创 2011-12-09 13:44:58 · 16781 阅读 · 3 评论 -
STM8S 操作内部EEPROM
对于STM8S103F3这款芯片来讲,存在640个字节的EEPROM,当然如果有外部EEPROM,自然是不会使用到内部的EEPROM的。但小东西也有大用途,例如做无线应用时,减少成本的情况下,还能保存一些特定设置,如:休眠时间,工作频率,输出功率,密码等。下图所示,STM8S系列EEPROM大小一目了然。操作EEPROM自然分成读操作和写操作,先查看STM8S的手册描述如下:原创 2011-12-09 12:34:56 · 16751 阅读 · 1 评论 -
进一步掌握STVD/COSMIC
以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!如何分配变量到指定的地址 举例:unsigned char temp_A@0x00; //定义无符号变量temp_A,强制其地址为0x00unsigned char temp_B@0x100; //定义无符号变量temp_B,强制其地址为0x100@tiny unsigned char temp_C; //定转载 2011-12-06 14:18:14 · 3624 阅读 · 1 评论 -
STM8S 与 STM32F IO口输出速率测试
今天查看STM32资料时,对输出速度2M 10M 50M不是很了解,再加上移植ARF2496K程序到STM32时出现意外情况。一、STM8S端作为接收端和发送端时接收到的数据都正常。二、发送端(STM8S),接收端(STM32)这时也正常。三、发送端(STM32),接收端(STM8)时,接收到的就是错误数据,数据每次都相同,但是是错的。于是,便考虑是不是STM32 I/原创 2011-11-11 18:00:45 · 14067 阅读 · 4 评论 -
MDK 4.12 下结构体定义语法
最近在做移植时,遇到个问题,之前采用的IAR STVD环境都没有问题,今天采用MDK 4.12,出现了问题,出现 'expected an identifier'警告。typedef struct _data{ u8 phy_id[8]; u8 sec_id[6]; u8 switch_s; union battery {原创 2011-11-09 14:55:38 · 4430 阅读 · 0 评论 -
MAX232 与 MAX3232 外部电路电容
这几天开始忙于调试我们自己的STM32主板,2.4G RF模块已经调试成功,然后接着调试串口,也就是如此,问题来了。我们的主板是按照神舟IV板上的原理图进行扩展和延伸,串口电路图自然和神舟IV板上的同一类型MAX3232。我们在网上采购的芯片是MAX232,一开始都没有注意,调试程序时发现不论什么波特率,串口调试助手都能收到数据,但数据都是错误的。而同样的代码放在神舟IV板上,两个串口都能原创 2011-11-26 09:58:36 · 24566 阅读 · 4 评论 -
STM8L101 与 STM8S103区别
工作需要,渐渐的开始熟悉STM8L101这款超低功耗的芯片了,呵呵...不看不知道,一看吓一跳,这玩意手册上标明的功耗远远低于STM8S103。我们采用的还是延续着TSSOP20管脚的封装。具体的芯片资源在手册首页都有详细说明。STM8L10x与STM8L15x外设图如下:硬件方面: STM8L101跟STM8S103来说,外设内存映射,时钟,中断,管脚功能,电源管理都有了较大原创 2012-02-15 10:57:25 · 15255 阅读 · 1 评论