嵌入式
文章平均质量分 51
单片机的软硬件学习
cy同学懵了
这个作者很懒,什么都没留下…
展开
-
STM32学习 第十四天
一、DMA程序:蓝色框里可以写入要循环运行的程序,红色框里不行二、系统滴答定时器(1)定义(2)寄存器当设定一个计数值时,改变CTRL(控制及状态寄存器)的值完成使能之后,计数值会保存在LOAD(重装载数值寄存器),并把设定的值赋给VAL(当前数值寄存器),进行计数。当VAL减为0之后,LOAD再次赋值给VAL。只要CTRL不清除使能,就一直循环往复。(3)分频值计算分频=定时时间...原创 2019-08-07 10:13:33 · 156 阅读 · 0 评论 -
STM32学习 第十三天
一、串口中断实现方法:(1)uint8_t receivebuffer[50];先定义一个接收缓存区,用一个数组来装载从串口调试助手接收的数据。(2)/* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ HAL_UART_Receive_IT(&huart1,(uint8_t*)rec...原创 2019-08-03 21:44:29 · 229 阅读 · 0 评论 -
STM32学习 第十二天
一、字符变量char c='?'(1)c是一个字符变量,实质上是一个字节的整形变量,由于它常用来存放字符,所以称为字符变量。(2)’?’,引号加一个字符,实质上是一个ASCII码的值,是一个整数,比如这个’?'的值为63。二、通过指针引用字符串char*string="1234567kljixixi"(1)这里string是一个指针变量,基类型为字符型。它只能指向一个字符类型数据,...原创 2019-08-02 12:10:42 · 670 阅读 · 0 评论 -
STM32学习 第十一天
一、句柄结构体:HAL_xxxx_InitTypeDef初始化结构体:HAL_xxxx_HandleTypeDef二、UART初始化结构体UART句柄结构体原创 2019-07-31 23:02:18 · 720 阅读 · 1 评论 -
STM32学习 第十天
一、五个串行通讯接口USART1位于高速APB2(72M)总线上,USART2、3和UART4、5位于APB1(36M)总线上注意:USART的S代表同步,A是异步;UART只能是异步二、三个USART10个中断源,支持DMA(1)引脚功能一般只用TX和RX(2)数据寄存器用户可见的只有DR寄存器,读和写都是通过DR。(3)控制器...转载 2019-07-27 17:25:36 · 104 阅读 · 0 评论 -
STM32学习 第九天
一、通信通信方式有串行通信和并行通信。串行通信分同步通信和异步通信。二、同步通信(1)一般是以N个字节为单位发送的(2)发送方和接收方使用同一时钟信号三、异步通信(1)通常以一个字节(单帧)为单位进行发送和接收(2)帧数据是低位在前,高位在后(3)发送方和接收方可以由各自独立的时钟来控制数据的发送和接收,两个时钟彼此独立,互不同步,故称异步。(4)字符帧:也叫数据帧,其组成为...转载 2019-07-26 12:17:21 · 109 阅读 · 0 评论 -
STM32学习 第八天
一、EXTI功能框图二、三、用cube配置工程的时候记得在SYS里配置debug为serial wire四、在中断里运行自己的函数的时候,有以下三个方法:(1)在主函数之外重新void 一个回调函数,函数名和HAL库里的相同。因为中断服务函数里调用了一个weak定义的回调函数,那么我们在主函数之外直接重新定义这个回调函数,并且写入自己的程序就可以了。注意:这个主函数不是指的main...转载 2019-07-22 12:21:40 · 137 阅读 · 0 评论 -
STM32学习 第七天
一、判断步进电机线圈的引线快捷方法:将两根线短接在一起,转动步进电机的转轴,如果转动有阻碍,那么这两根线属于一个线圈。二、NVIC-嵌套向量中断控制器三、每个中断的优先级由一个8位的寄存器来设定。STM32有两个优先级,高位段表示抢占优先级,低位段表示响应(子)优先级。具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级可以在低抢占式优先级...转载 2019-07-18 17:59:36 · 195 阅读 · 0 评论 -
STM32学习 第六天
一、 单相步进电机只能按一个方向运动:给他通以正负交变的电流,每切换一次电流就按固定方向走一步。定子与转子之间的工作 气隙不均匀。二、两相步进电机三、双极性驱动的原理两电极内部相连,需要引出的线就只有四根。四、细分驱动原理五、保持转矩指步进电机通电但没有转动时,定子锁住转子的力矩,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出...转载 2019-07-14 12:43:14 · 163 阅读 · 0 评论 -
STM32学习 第五天
一、结构体好处举例我们在初始化 GPIO 口的时候入口参数就可以是 GPIO_InitTypeDef 类型的变量或者指针变量了, MDK 中是这样做的:void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);这样,任何时候,我们只需要修改结构体成员变量,往结构体中间加入新的成员变量,而不需要修改函数定义就...转载 2019-07-07 22:00:43 · 204 阅读 · 0 评论 -
STM32学习 第四天
一、关键词:指针 指针变量 指针变量名 直接访问 间接访问理解:i_pointer可能指指向变量i的指针变量,也可能指i_pointer指向的对象。第一个*i_pointer中的“星号”只是表示指针变量i_pointer的类型为指针型变量第四行的*point_1指的是指针变量,但倒数第二行指的是指针变量指向的对象。注意:point_1=&a;//正确*point_1=&a...转载 2019-07-06 22:25:34 · 279 阅读 · 0 评论 -
STM32学习 第三天
一、GPIO配置(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mode_Out_OD 开漏输出:OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小...转载 2019-07-05 23:26:30 · 108 阅读 · 0 评论 -
STM32学习 第二天
typedef signed char int8_t;//-128到127typedef signed short int int16_t;//-32768到32767typedef signed int int32_t;//-2147483648到2147483647即-0x7fff fffff到0x7ffff fffftype...转载 2019-07-05 12:32:42 · 140 阅读 · 0 评论 -
STM32学习 第一天
&&逻辑与&按位与||逻辑或|按位或a&=b,就是将a与b做按位“与”运算,结果赋值给a,也就相当于a=a&b;a|=b就是将a,b 做按位”或“运算,结果给a,相当于a=a|b应用:(1)不改变其他位的值的状况下,对某几个位进行设值。GPIOA->ODR &=0XFF0F; //将第 4-7 位清 0GPIOA->O...转载 2019-07-02 23:44:37 · 873 阅读 · 0 评论 -
TC264学习(二)——SCCB协议
一、 SCCB协议简介SCCB(Serial Camera Control Bus),用于ov系列摄像头的串行控制总线。二、 SCCB与I2C的区别和联系联系:SCCB大致上和I2C一致,SCCB的SIO-I和SIO-O相当于I2C的SCL和SDA。(下面的时序部分就拿SDA和SCL来代替前者)区别:在主机读取从机的寄存器数据时,主机发送寄存器地址并接收应答之后,要发送一个终止信号,这一点和I2C不同。(四有详细介绍)三、 时序理解SCCB的时序可以将它分为三个部分来学习:① 起始信号和终止信原创 2020-05-09 13:43:36 · 2445 阅读 · 0 评论 -
TC264学习(一)——新建TASKING工程
TASKING 使用注意事项1.新建工程详见:TC264开源资料\3_tasking软件使用教程,注意别漏了更改lsl的路径而且文件组成形式最好是以下形式:2.导入例程到工作区时,记着做上述的lsl路径更改,否则编译会报错:...原创 2020-04-19 20:21:47 · 6373 阅读 · 1 评论 -
不精确的毫秒级延时函数
在写软件模拟的I2C程序时,需要用到延时函数。STM32的HAL库提供了一个HAL_Delay函数,虽然精确,但是用的是系统滴答定时器。在模拟I2C程序里,我们不需要有这么精确的延时,同时要求函数尽量可靠,不出bug。下面用__asm(“NOP”)实现的毫秒级延时。代码很简单,主要是分析其到底能延时多久。void delay_us(int t){ int i; for(i=0;i<t;i++) { __asm("NOP"); }}下面我做了一个实验,debug来找每次延时原创 2020-07-18 21:20:36 · 1461 阅读 · 1 评论 -
SPI通信协议
一、特点(1)同步:有时钟信号(2)串行:相对于并行(3)全双工:可同时收发(4)主从工作方式:与I2C类似,一主机一(或多)从机二、物理接口采用四线控制(1)SDO:主发送,从接收,即MOSI(master output slave input)(2)SDI:主接收,从发送,即MISO(master input slave output)(3)SCLK:主设备产生的时钟信号(4)CS:主设备产生的使能信号(SS/NSS)(CS为片选信号,有多少个从机,就有多少个CS)三、通信时序原创 2020-06-23 18:21:17 · 328 阅读 · 0 评论