摘要: SPI比较混乱,主要是没有标准的协议,只有moto的事实标准。所以衍生出多个版本,但没有本质的差异。 标准的SPI协议有: 4线:SCLK MOSI MISO CS 3线:SCLK SDA CS 标准协议可以用硬件SPI,即通过cubemx进行设置。 但还有一个常见的版本,也是我们常用的,只有输出没 阅读全文
posted @ 2020-05-25 16:36 无乐不作丶 阅读(1631) 评论(0) 推荐(0) 编辑
摘要: 个人原因,想去CSDN了,博客园停留了很长一段时间,希望越做越好把 阅读全文
posted @ 2020-05-25 16:07 无乐不作丶 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 个人原因,想去CSDN了,博客园停留了很长一段时间,希望越做越好把。 阅读全文
posted @ 2020-05-25 16:05 无乐不作丶 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 查看相应设备SPI接口的时序,确定从设备要求。 我们的master模式要根据从设备的时序要求来设置参数,才能正常访问设备。 例如这个: 从设备要求,1、时钟空闲时为高电平;2、数据在时钟下降沿跳变,上升沿稳定,第2个沿为数据采样点;3、高位先发送;4、数据长度8位; 所以在CubeMx中应该设置为: 阅读全文
posted @ 2020-05-23 16:10 无乐不作丶 阅读(2424) 评论(0) 推荐(0) 编辑
摘要: 这里的单脉冲控制是指在PWM下产生指定个数的脉冲。 先在CubeMx中按照PWM进行配置。 定义一个变量表示脉冲个数。 uint8_t PWMnum = 5; 开启PWM中断。 HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_1); 定义脉冲完成回调函数。 uint 阅读全文
posted @ 2020-05-23 13:55 无乐不作丶 阅读(2924) 评论(0) 推荐(0) 编辑
摘要: 基本方法 1.设置TIM2 CH1为输入捕获功能; 2.设置上升沿捕获; 3.使能TIM2 CH1捕获功能; 4.捕获到上升沿后,存入capture_buf[0],改为捕获下降沿; 5.捕获到下降沿后,存入capture_buf[1],改为捕获上升沿; 6.捕获到上升沿后,存入capture_buf 阅读全文
posted @ 2020-05-22 17:23 无乐不作丶 阅读(1228) 评论(0) 推荐(0) 编辑
摘要: STM32中APB1和APB2控制对应表 分类 APB1 电源接口 UART2、UART3 CAN TIM2、3、4 SPI2 IIC1、IIC2 看门狗 USB APB2 GPIO_A-E USART1 ADC123 TIM1、8 SPI1 ALL 阅读全文
posted @ 2020-05-22 11:24 无乐不作丶 阅读(1444) 评论(0) 推荐(0) 编辑
摘要: 按键可以用按键扫描的方法和外部中断的方法。 外部中断看前面,个人推荐使用外部中断更好。 其余情况可以用按键扫描,这里只讲按键扫描的方法。 先在main.h中定义按键名称 #define KEY0 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_5) //KEY0按键PC5 #defi 阅读全文
posted @ 2020-05-22 08:58 无乐不作丶 阅读(1528) 评论(0) 推荐(0) 编辑
摘要: 关于利用中断实现串口不定长接收,还可以使用串口通讯协议来控制读写的长度。 先设定停止结束标志位为0x02(自定义)。 新建一些数组备用: uint8_t value; //进入中断接收数据的变量 或 uint8_t value[1]; uint8_t getBuffer[50]; //保存接收到的数 阅读全文
posted @ 2020-05-21 09:19 无乐不作丶 阅读(578) 评论(0) 推荐(0) 编辑
摘要: AOI串口通讯协议 1 PC与LCD测试架的通讯 PC与LCD测试架之间采用232串口线连接, 传输参数:波特率:115200,校验位:无,数据位:8,停止位:1,流控制:无 2 通讯数据包格式 数据包格式: 标志0x5A 数据长度N 1~255 数据1 D1 数据2 D2 …… 数据N Dn 校验 阅读全文
posted @ 2020-05-12 18:49 无乐不作丶 阅读(1176) 评论(0) 推荐(0) 编辑