RCT特征:可编程的预分频系数,分频系数最高2的20次方。32位可编程计数,用于较长时间段的测量。2个分离的时钟。可以选择三种RTC时钟源:HSE/128;LSE振荡器;LSI振荡器。2个独立的复位类型:APB1由系统复位;RTC由后
;================================================;DS1302控制子程序;=================================================;程序包括:DS1302初始化,时间数据写入和读取程序 ;DS1302_init;initds1302;S
在编写STM32程序代码时由于自己的粗心会发现有时候程序跑着跑着就进入了HardFault_Handler中断,按照经验来说进入HardFault_Handler故障的原因主要有两个方面:1:内存溢出或则访问越界。2:堆栈溢出。发生异常后我们
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFE
PWR->CR |= 0x01; // 低功耗时关闭电压调节SCB->SCR |= 0x04; // 开启深度睡眠接下来只要 _ _ WFI();就立即进入休眠模式,外部中断可唤醒。唤醒之后全部都初始化了想用软件来初始化单片机可以有一种方法,那就是使用
USB 时钟可以一直使能。如果CAN时钟没有使能,RAM 能被软件读写。(CANBus 不能发送和接受Message)如果CAN时钟使能,RAM不能软件被写。 CANBus Core 控制此RAM区域。(CANBus 可以发送和接受Message)CANBus 占用了
usart这部分代码我也是从网上copy出来的,一下是作者的解释:简单地说:想在mdk 中用printf,需要同时重定义fputc函数和避免使用semihosting(半主机模式),标准库函数的默认输出设备是显示器,要实现在串口或LCD输出
当我们采用并口传输数据的时候都会用如下的方法进行数据传输#define DATAOUT(x) GPIOB->ODR=x;STM32IO口都是16位的,所以当调用DATAOUT的时候就直接对GPIOB的16个IO口总体进行操作。但是我们如果只是选择高8位或者低
A/D转换原理及参数指标1.采样定理2.为了正确无误的用图5.2.2中所示的采样信号vs表示模拟信号vi,必须满足式中, fs>=2fmaxfs为采样频率;fmax为输入信号vi的最高频率分量的频率;上式就是所谓的采样定理。满足采样定理
1.在 C文件中要嵌入汇编代码片以如下方式加入汇编代码:#pragma ASM;Assembler Code Here#pragma ENDASM 2.在 Project窗口中包含汇编代码的 C文件上右键,选择“Options for ...”,点击右边的“Generate Assembl
本文以STM32F103ZE为原型,来剖析其内存结构,从而了解其内存物理地址,分配结构以扩展应用。STM32F103ZE这款芯片内置了32KB的SRAM,512KB的Flash,其映射地址如下图所示,该图来源于其数据手册。其中Flash的起始地址
void MiniBalance_PWM_Init(u16 arr,u16 psc){RCC->APB1ENR|=1ARR=arr;//设定计数器自动重装值TIM3->PSC=psc;//预分频器不分频TIM3->CCMR2|=6
输出模式只有4种哦,另外4种是输入模式,这个问题很常见:下面是引用文字:(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1(2)带上拉输入_IPU——IO内部上拉电阻输入(3)带下拉输入_IPD—— IO内部
工作以后发现,PWM用到的地方非常多,在工控上经常需要用到不同的电压输出,对应于改变硬件电路利用软件来实现减少其工作量以达到同样的目的。典型的呼吸灯的例子。利用PWM输出来调节电压,其实电压的波形还是方波,
I2C总线是由NXP(原PHILIPS)公司设计,有十分简洁的物理层定义,其特性如下:只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系