推荐阅读最新更新时间:2024-03-16 15:42
STM8S IO口基本输入输出
GPIO主要功能 ● 端口的各个位可以被单独配置 ● 可选择的输入模式:浮动输入和带上拉输入 ● 可选择的输出模式:推挽式输出和开漏输出 ● 数据输入和输出采用独立的寄存器 ● 外部中断可以单独使能和关闭 ● 输出摆率控制用以减少EMC噪声 ● 片上外设的I/O功能复用 ● 当作为模拟输入时可以关闭输入施密特触发器来降低功耗 ● 在数据输出锁存时支持读-修改-写 ● 输入兼容 5V电压 ● I/O口工作电压范围为1.6 V 到VDDIOmax STM8S的IO口相关的寄存器 端口 x 输出数据寄存器 (Px_ODR) Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 P
[单片机]
STM8S如何实现Atomthreads最低功耗
Atomthreads像众多操作系统一样,在没有任务调度是会调用idle。(by cpuwolf) staTIc void atomIdleThread (uint32_t param) { /* Compiler warning */ param = param; /* Loop forever */ while (1) { /** todo Provide user idle hooks*/ } } atomthreads中atomIdleThread()是以线程的形式存在,也就是最低优先级线程。作者默认没有填写这个函数。 uint8_t atomOSInit (void *idle_
[单片机]
STM32f4独立看门狗实验代码
iwdg.c里面的代码如下: #include iwdg.h //初始化独立看门狗 //prer:分频数:0~7(只有低 3位有效!) rlr:自动重装载值,0~0XFFF. //分频因子=4*2^prer.但最大值只能是256! //rlr:重装载寄存器值:低11位有效. //时间计算(大概):Tout=((4*2^prer)*rlr)/32 (ms). void IWDG_Init(u8 prer,u16 rlr) { IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //取消寄存器写保护 IWDG_SetPrescaler(prer); //设置 IWDG分频系数 IWD
[单片机]
STM32独立看门狗介绍_STM32单片机独立看门狗实验
STM32独立看门狗简介 单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示MCU已经挂了),便实现处理器的自动复位重启(发送复位信号)。 STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部RC时钟,所以并不是准确的40Khz,而是在30~60Khz之间的一个可变化的时钟,只是我们在估算的时候,以40Khz的频率来计算,看门狗对时间的要求不是很精确,所以,时钟有些偏差,都是可以接受的。 涉及的寄存器有:键寄存器
[单片机]
stm8s开发(三) UART的使用:串口通信
串口通信是单片机学习的一个最基本、最重要的功能之一。串口通信可以间接的当做调试接口使用,实现单片机与电脑之间的通信。当然可以与一些模块(比如蓝牙、wifi)通信,也可以作为和其他单片机通信的工具。 STM8S的通用异步收发器(UART)主要特性: ● 全双工的,异步通信 ● 可编程数据字长度(8位或9位) ● 可配置的停止位-支持1或2个停止位 一般的,我们使用串口通信主要是关心几点参数:波特率、停止位、奇偶校验位。 其次就是如何发送、如何接收数据,这里介绍的使用阻塞式发送数据、中断方式接收数据。 以下代码是初始化串口,参数为:115200 1停止位 无校验位 void Init_UART1(v
[单片机]
stm8s eeprom读写
stm8s有自带的eeprom,起始地址是0x4000,终止到哪看手册,因为我用的时候只写一个4字节数据,配置如下: 入参:eeprom偏移地址,写入的数据 void eeprom_write(const unsigned char addr,unsigned long date) { asm( sim ); FLASH_CR1_FIX = 1;//编程时间固定为标准编程时间 FLASH_CR2_WPRG = 1;//使能字编程 FLASH_NCR2_NWPRG = 0;/使能字编程 do { FLASH_DUKR = 0xAE; FLASH_DUKR = 0x56; } wh
[单片机]
一文读懂STM32之独立看门狗/窗口看门狗的原理
一、独立看门狗 STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即使主时钟发生故障,它也仍然有效。 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示MCU已经挂了),便实现处理器的自动复位重启(发送复位信号)。 在键值寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号(IWDG_RESET)。无论何时,只要键寄存器IWDG_KR中被写入0xAAAA,IWDG_RLR中的值就会被
[单片机]