随笔分类 - 嵌入式硬件、编程
摘要:小容量: FLASH≤32K中容量: 64K≤FLASH≤128K大容量: 256K≤FLASH startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F107xx startup_stm32f10x_hd.s大容量的STM32F101xx,STM32F102
阅读全文
摘要:sprintf与浮点数表示 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个
阅读全文
摘要:在官方的库文件中,分别有如下文件: startup │ │ │ ├─arm │ │ │ │ startup_stm32f10x_cl.s │ │ │ │ startup_stm32f10x_hd.s │ │ │ │ startup_stm32f10x_hd_vl.s │ │ │ │ startup_
阅读全文
摘要:CAN协议中对它使用的CAN_High及CAN_Low表示的差分信号做了规定,如下图。以高速CAN协议为 例,当表示逻辑1时(隐性电平),CAN_High和CAN_Low线上的电压均为2.5v,即它们的电压差VH-VL=0V; 而表示逻辑0时(显性电平),CAN_High的电平为3.5V,CAN_L
阅读全文
摘要:程序包含TM1618驱动的4位或5位共阴数码管函数,包含ADC采集函数,求平均函数, 实现STM8S005单片机B0口采集后,将电压值用4位或5位共阴数码管显示。 在IAR环境编译通过 下面贴出main.c程序 : // 要用到stm8s_clk.c和stm8s_gpio.c// 要用到stm8s_
阅读全文
摘要:程序完成利用STM32F103C8T6 滴答时钟 SysTick进行定时,每隔1秒输出脚PC13的小灯闪烁一下。 注意,小灯每隔1秒闪烁只是转换状态,可以理解为定时或1个脉冲时间,但并不是频率,频率要2个 脉冲时间2秒,所以要测频率的话是0.5Hz,即频率=1/2秒= 0.5Hz 。 1 使用中断的
阅读全文
摘要:SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一 种同步串行接口技 术,是一种高速的,全双工,同步的通信总线。SPI接口没有指定的流控制,没有应答机制确认是否接收到数 据。通常有以下4条通讯线。 同I2C接口相比,SPI器件支持
阅读全文
摘要:1 性能概述 W25Q128BV的主要性能如下 通讯方式:为标准104MHz串行SPI方式,还可以双倍速204MHz和4倍速416MHz访问。 容 量:128Mbit,65536Page。 因为8 bit =1 byte , 256 byte=1Page 、16Page=1Secotr、16Seco
阅读全文
摘要:TFT-LCD面板可视为两片玻璃基板中间夹着一层液晶,上层的玻璃基板是彩色滤光片、而下层的 玻璃则有晶体管镶嵌于上。当电流通过晶体管产生电场变化,造成液晶分子偏转,藉以改变光线的偏 极性,再利用偏光片决定像素的明暗状态。此外,上层玻璃因与彩色滤光片贴合,形成每个像素各包 含红蓝绿三颜色,这些发出红蓝
阅读全文
摘要:原创 https://jingyan.baidu.com/article/14bd256e112e25bb6d261211.html 貌似没有教程讲到过状态机的概念和编程思路,特从别的论坛转贴一篇很好的实例,献给广大初学者。用状态机做键盘消抖,很好用,不必延时等待键盘稳定,当检测到有键按下或弹起时能
阅读全文
摘要:// STM32F103C8T6 的ADC1 通道有10路,分别是:// 10 脚PA0 ADC12_IN0// 11 脚PA1 ADC12_IN1// 12 脚PA2 ADC12_IN2// 13 脚PA3 ADC12_IN3// 14 脚PA4 ADC12_IN4// 15 脚PA5 ADC12
阅读全文
摘要:以STM32F103C8T6,uVision开发环境为例,注意了,若使用其它相近芯片,本文仅供参考。 以下是main.c,执行后引脚A1输出频率20KHz,占空比75%的方波。 #include "stm32f10x.h" #include "stm32f10x_tim.h" //*********
阅读全文
摘要:DMA的英文Direct memory access,意思就是传输将数据从一个地址空间复制到另一个地址空间,设置好后 自动传输而不需要处理器参与。STM32F030F4只有DMA1,DMA1有5个通道,要想使用必须进行一些设置。 下面以ADC多通道采集为例,大致分3步: 1. GPIO的配置。该配置
阅读全文
摘要:本代码基于STM32F030F4P6,程序运行后完成以下功能: 1. 定义了串口的发送和接收数组各20字节,赋值发送数组默认字符串“Hellow Good morning!”。 2. 用TIM16做了5秒的定时器,定时结束后进TIM16中断,中断内改变主环条件变量,启动DMA 控制串口发送字符串He
阅读全文
摘要:以STM32F030F4P6,uVision开发环境为例,注意了,若使用其它相近芯片,本文仅供参考。 程序运行后TIM3的CH1、CH2、CH4,TIM14的CH1输出PWM波形。 以下是main.c文件: #include "stm32f0xx.h" //转载请注明出处: https://www.
阅读全文
摘要://********************************************************************************************* // 以STM32F030F4P6,uVision开发环境为例 //4秒占空比从0-100,4秒占空比从10
阅读全文
摘要:以STM32F030F4P6,uVision开发环境为例,注意了,若使用其它相近芯片,本文仅供参考。 需要在PA1口给入可调的模拟电压,程序在uVision仿真环境下运行,仿真编程器为ST-LINK2,程序在主环 while (1)处设断点,查看dyzh的值即为PA1口输入的电压值。 // STM3
阅读全文
摘要://==文件time1.h #ifndef _TIME1_H_ #define _TIME1_H_ #include stm32f0xx.h // 定义PWM的频率 #define DEF_PWMFRE DEF_PWMFRE_16K #define DEF_PWMFRE_8K 8000 //计数周期
阅读全文
摘要:以STM32F030F4P6,uVision开发环境为例,注意了,若使用其它相近芯片,本文仅供参考。 以下是main.c文件: #include "stm32f0xx.h" void LED_Init(void) //PWM输出引脚B1函数{ GPIO_InitTypeDef GPIO_InitSt
阅读全文
摘要:以STM32F030F4P6,uVision开发环境为例,注意了,若使用其它相近芯片,本文仅供参考。 TIM3 结构框图 在中断文件stm32f0xx_it.c 中修改或添加下面语句、函数。 extern void LED_A4 (); //外部引入函数声明 加在文件首部 void TIM3_IRQ
阅读全文