推荐阅读最新更新时间:2024-11-09 20:17
STM8S(105K4)使用笔记——独立看门狗IWDG的基础配置
0、独立看门狗的使用 独立看门狗基于低速内部RC振荡器(LSI)运行。 若LSI运行正常,当主程序发生错误时,无法重置看门狗计数器,独立看门狗将会产生复位标志位并重启。 由于独立看门狗基于LSI运行,与主程序、大部分外设相独立,这能最大限度保证独立看门狗的功能正常运行。 1、使能独立看门狗 /* 使能独立看门狗 (低速内部RC振荡器(LSI)将会被硬件使能) */ IWDG- KR = (uint8_t)0xCC; 注意!一旦独立看门狗被使能将无法禁用! 如果你需要使用stm8s的低功耗模式,同时需要使用看门狗复位功能,请选择窗口看门狗! 2、配置分频因子与重装载值 解除PR、RLR寄存器写保护 /* P
[单片机]
STM8S低功耗电源管理
1STM8S功耗来源 STM8S功耗分静态功耗和动态功耗。 静态功耗:主要由晶体管的偏置电流和漏电流产生。 动态功耗:取决于电源电压和工作时钟频率。 在CMOS逻辑电路以一定时钟频率运行时,静态功耗与动态功耗相比是可以忽略的。但在一些低功耗模式下,时钟不再运行,此时静态功耗是主要的功耗源。 因此,功耗主要取决于: 1.微控制器单元(MCU)的芯片面积:所采用的工艺,晶体管的数量,片上集成和使用的模拟功能/外设。 2.MCU电源电压: CMOS逻辑电路中消耗的电流与电源电压的平方成正比。因此,可以通过降低供电电压来降低功耗。 3.时钟频率:在不要求进行高速处理的应用中,降低时钟频率可以降低功耗。
[单片机]
stm8s开发(七) SPI的使用:SPI主机通信!
科普SPI:是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,分别是:SCK(时钟)、MOSI(主机发送数据)、MISO(主机接收数据)、NSS(片选),其中NSS的片选信号,大部分情况下我们使用的是软件NSS,即为使用一个GPIO进行软件控制片选。值得注意的是,其中SPI有4中模式:分别是空闲时SCLK的电平高低、MISO采样时第12个变化沿。 stm8s的SPI结构如下图, 如果用形象的比喻的话:SCK像一个发条齿轮,只有当发条齿轮转动的时候(SCK输出8个时钟),MOSI才能将1Byte的数据发送出去,同时,MISO将1Byte的数据接收回来。 使用SPI无非就一个初
[单片机]
STM32f103 双串口配置和中断
//代码仅仅是配置使能串口和相应的中断处理函数,具体功能需要自己定义 //IAR 7.1 #include stm32_uart.h uint8_t card_ture=0; uint16_t add_count=0; uint8_t Key_Data ={0}; uint8_t Media_Flag=0; uint8_t card_code ; // save the card SN, valid or invalid uint8_t Temp_Card_Num ; uint8_t cardcode_rx_complete = 0; uint32_t uart_config_record_map = { 0, UAR
[单片机]
STM8S_007_片内FLASH和EEPROM编程
Ⅰ、写在前面 我们都知道FLASH和EEPROM这两种存储器,但是大部分人了解的都是专门的FLASH和EEPROM芯片,如:W25Q16和ATAT24C08(外部)储存芯片。 外部存储芯片和本文说的内部FLASH和EEPROM最大的区别就是在于:内部FLASH和EEPROM是不需要SPI、I2C等进行操作,也就是说同等情况下,内部FLASH和EEPROM的读写要快一点。 STM8的FLASH除了储存程序代码之外,就是用于用户编程(存储数据),不像之前的51芯片不能利用内部储存代码的FLASH。 为方便大家阅读,本文内容已经整理成PDF文件: http://pan.baidu.com/s/1i5uWhJR 作者
[单片机]
使用STM8S自带BootLoader_2
仔细读ST支持文档 UM0560,按步骤操作。 程序准备工作: 1.开串口接收中断,发送。 /* ******************************************** UART2 configured as follow: - BaudRate = 115200 baud - Word Length = 8 Bits - One Stop Bit - No parity - Receive and transmit enabled - Receive interrupt - UART2 Clock disabled ***********************************
[单片机]
STVD 调试STM8S所遇到的问题
环境为主控芯片: STM8SF103F3,编译器 COSMIC8,IDE环境为STVD。 大概代码如下: u8 ret; ret=rf_get_addr_len(); ret=rf_get_trint_level(); ret=rf_get_drssi_level(); ret=rf_get_dest_provider(); ret=rf_get_addr_len(); 使用STLINK进行调试时发现,ret的值根本就不是正确的,我跟踪到具体的函数里面去,检测值是正确的,但为什么赋值给ret后,这个值就不对了呢? 后来google搜后发现一个贴上有说明,内容如下: 一段很简单的代码,跑在ST-DISCOV
[单片机]
PIC串口通信程序(2)中断1602回显
/*************************************************************************************************** *** 功能:串口调试助手发送数据给877,877收到后再转发回串口助手 *** 实验内容:通过PC端软件 串口调试助手 c 发送数据给877, 877把接到的数据发给电脑 *** 开发板连接方法: 用串口线接上单片机开发板上的串口, 另一端接到电脑9针串口上,如果没有串口,请另购USB转串口线 *****************************************************************
[单片机]