推荐阅读最新更新时间:2024-03-16 15:32
STM32备忘——GPIO的几种模式
GPIO的模式学习 GPIO的综合描述 讲述的内容比较详细 输出模式通常使用推挽输出模式:GPIO_Mode_Out_PP 只有使用输出模式时才能设置频率:GPIO_Speed 使用串口通常使用复用模式: 选择IO接口工作方式: GPIO_Mode_AIN 模拟输入 GPIO_Mode_IN_FLOATING 浮空输入 //USART串口通信输入模式 GPIO_Mode_IPD 下拉输入 //按键的输入 GPIO_Mode_IPU 上拉输入 //按键的输入 GPIO_Mode_Out_PP 推挽输出 //GPIO引脚输出模式 GPIO_Mode_Out_OD 开漏输出 GPIO_Mode_AF_PP 复用推
[单片机]
单片机串行口通信程序设计
单片机串行口通信程序设计硬件连接图 例:用8051单片机串行口外接CD4094扩展8位并行输出口,如图所示,8位并行口的各位都接一个发光二极管,要求发光管呈流水灯状态。 串行口方式0的数据传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。串行发送时,能靠TI置位(发完一帧数据后)引起中断申请,在中断服务程序中发送下一帧数据,或者通过查询TI的状态,只要TI为0就继续查询,TI为1就结束查询,发送下一帧数据。在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。无论采用什么方式,在开始通信之前,都要先对控制寄存器SCON进行初始化。在方式0中将,将00H送SCON就能了。 ---
[单片机]
关于STM32的滴答滴答
void SysTick_Configuration(void) { if (SysTick_Config((SystemCoreClock) / 10)) // 1/10s=100ms { while (1); } NVIC_SetPriority(SysTick_IRQn, 0x0); } SysTick_Config(SystemFrequency / 10) 函数的形参就是systick重装定时器的值
[单片机]
80C51单片机片内与片外程序存储器的选择
大多数51系列单片机内部都配置一定数量的程序存储器ROM。如80C51芯片内有4KB掩模ROM存储单元,AT89C51芯片内部配置了4KB Flash ROM,它们的地址范围均为0000H~0FFFH。 ROM可以用来存放固定的程序或数据,如系统监控程序,常数表格等。 片内与片外程序存储器的选择 80C51的程序计数器PC是16位的计数器,所以能寻址64KB ROM的任何单元。 1.~EA引脚接高电平 ~EA引脚接高电平,对于基本型单片机,首先在片内程序存储器中取指令,当PC的内容超过0FFFH(4K)时,系统会自动转到片外的程序存储器中取指令,外部程序存储器的地址从1000H开始编址。 2.~EA引脚接低电平 ~
[单片机]
PIC16位单片机CAN(1)新建工程测试
昨天焊接了硬件,硬件没有什么问题。起初使用最新的集成开发环境MPLAB X IDE v1.41,XC16编译器。但是新建简单的工程都不行,找不到KIT3。只好放弃。还是使用MPLAB IDE v8.88集成开发环境吧,依然是XC16编译器。 由MPLAB IDE v8.88的工程向导新建一个工程。选择单片机和编译器之后开始写一个IO口程序控制LED看看有没有硬伤。好久不用PIC了,都忘了怎么使用了。 1:添加相应的头文件 2:写配置位(时钟,仿真口等) 3:写测试程序。 总是忘了写配置位,根据文档写完配置位之后LED终于点亮了!! #include p33EP32GP502.h _FICD(ICS_PGD
[单片机]
51单片机——I2C总线
UART 属于异步通信,比如电脑发送给单片机,电脑只负责把数据通过TXD 发送出来即可,接收数据是单片机自己的事情。而 I2C 属于同步通信, SCL 时钟线负责收发双方的时钟节拍, SDA 数据线负责传输数据。 I2C 的发送方和接收方都以 SCL 这个时钟节拍为基准进行数据的发送和接收。 I2C总线包括SCL,SDA 两根信号线,其中SCL是时钟线,SDA是数据线。 1、起始信号 UART 通信是从一直持续的高电平出现一个低电平标志起始位;而 I2C 通信的起始信号的定义是 SCL 为高电平期间, SDA 由高电平向低电平变化产生一个下降沿,表示起始信号。 2、数据传输 UART 是低位在前,高位在后;而
[单片机]
实用STM32的串口控制平台的实现
1. 前言 玩过Linux的朋友, 是不是对Linux无所不能的串口Shell命令控制台羡慕不已, 要是自己做的STM32F系列低档次的MCU也有这种控制交互能力, 会给调试/维护和配置省下多少麻烦事呀, 比如启动/关闭调试或自检模式, 打印调试信息, 配置系统参数, 传输文件等等, 也有相当多的朋友凭借自己出色的编程能力可以实现这些功能, 这里提出我的这个解决方案, 以作交流. 本平台(xc_shell)具备以下性能特点: 1) 大量主要代码, 和具体硬件无关, 移植性强,代码文件少. 2) 只有在处理用户的输入命令时, 才占用CPU资源, 且代码可裁剪到1KB SRAM和4KB Flash; 3) 用户可以非常灵活的添加按
[单片机]
STM32单片机FSMC的使用解析
在做项目的过程中遇到了这个问题,感觉文章写得不错,共享给对FSMC的使用怀有疑惑的同伴们! LCD有如下控制线: CS:Chip Select片选,低电平有效 RS:Register Select寄存器选择 WR:Write写信号,低电平有效 RD:Read读信号,低电平有效 RESET:重启信号,低电平有效 DB0-DB15:数据线 假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多): 如果情况如下: DB0-DB15的IO全部为1(表示数据0xff),也可以为其他任意值,这里以0xff为例。 CS为0(表示选上芯片,CS拉低时,芯片对传入的数据才会有效) RS为1(表示DB0-15上传
[单片机]