2:STM32CubeMX配置STM32F103C8T6驱动-SPI驱动
STM32CubeMX下载地址:
下载界面
1:时钟
CS
2:模块
3:代码配置
u8 SPI_WriteByte(u8 Byte)
{u8 rxdata = 1;HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_RESET);HAL_SPI_Transmit(&hspi2,&Byte,1,100);HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_SET);return rxdata;
}
使用库函数一定要包含头文件 #include "main.h"
接口 HAL_SPI_Transmit(&hspi2,&Byte,1,100);
中1代表1个字节(8bit),100代表超时。
引脚拉低拉高:
//GPIO置位(拉高)
#define LCD_CS_SET HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_SET);//GPIO_TYPE->BSRR=1<<LCD_CS //片选端口 PB11
#define LCD_RS_SET HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, GPIO_PIN_SET)//GPIO_TYPE->BSRR=1<<LCD_RS //数据/命令 PB10
#define LCD_RST_SET HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET)//GPIO_TYPE->BSRR=1<<LCD_RST //复位 PB12//GPIO复位(拉低)
#define LCD_CS_CLR HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_RESET)//GPIO_TYPE->BRR=1<<LCD_CS //片选端口 PB11
#define LCD_RS_CLR HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, GPIO_PIN_RESET)//GPIO_TYPE->BRR=1<<LCD_RS //数据/命令 PB10
#define LCD_RST_CLR HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET)//GPIO_TYPE->BRR=1<<LCD_RST //复位 PB12
延时程序
//SysTick->LOAD=nus*9;中的9是 主频/8M
//比如主频72M,此数值为9,如果8M,此数值为1
void delay_us(u32 nus)
{ u32 temp; SysTick->LOAD=nus*9; //时间加载 SysTick->VAL=0x00; //清空计数器SysTick->CTRL=0x01 ; //开始倒数 do{temp=SysTick->CTRL;}while(temp&0x01&&!(temp&(1<<16)));//等待时间到达 SysTick->CTRL=0x00; //关闭计数器SysTick->VAL =0X00; //清空计数器
}
void delay_ms(u16 nms)
{ u32 temp; SysTick->LOAD=(u32)nms*9000;//时间加载(SysTick->LOAD为24bit)SysTick->VAL =0x00; //清空计数器SysTick->CTRL=0x01 ; //开始倒数 do{temp=SysTick->CTRL;}while(temp&0x01&&!(temp&(1<<16)));//等待时间到达 SysTick->CTRL=0x00; //关闭计数器SysTick->VAL =0X00; //清空计数器
}
下面介绍IGF320240A显示屏配置方法
适配
u8 SPI1_ReadWriteByte(u8 TxData)
{ u8 rxdata = 1;#if onlysend //如果只配置了发送 使用HAL_SPI_TransmitHAL_SPI_Transmit(&hspi1,&TxData,1,100);//while(HAL_SPI_GetState(&hspi1) == HAL_SPI_STATE_READY);#else//如果配置了发送和接收 使用HAL_SPI_TransmitReceiveif(HAL_OK == HAL_SPI_TransmitReceive(&hspi1,&TxData,&rxdata,1,100)){ return rxdata; };#endifreturn rxdata;
}void write_cmd(unsigned char cmd) //发送寄存器地址
{LCD_DC_Clr();//写命令LCD_CS_Clr();HAL_SPI_Transmit(&hspi1,&cmd,1,100);delay(1);LCD_CS_Set();
}void write_dat(unsigned char dat) //发送寄存器参数
{LCD_DC_Set();//写数据LCD_CS_Clr();SPI1_ReadWriteByte(dat);LCD_CS_Set();
}
2:STM32CubeMX配置STM32F103C8T6驱动-SPI驱动相关推荐
- 总线驱动--SPI驱动
总线驱动–SPI驱动 文章目录 总线驱动--SPI驱动 SPI主机驱动 1.spi_master 申请与释放 2.spi_master 的注册与注销 SPI设备驱动 SPI 设备和驱动匹配过程 I.M ...
- 1:STM32CubeMX配置STM32F103C8T6驱动-下载软件配置RCC,CAN1,USART1
1:下载软件 点击 这里立即下载,共454M. 2:通过STM32CubeMX配置USART1,CAN1 1:创建工程 创建文件夹存放工程 添加工程名称及路径: 为每个驱动单独创建.c和.h文件. 2 ...
- 2:STM32CubeMX配置STM32F103C8T6驱动-TIM1配置
1:STM32CubeMX配置 1:确定时钟 2:设置1ms触发一次,72M/72/1000= 1000/s 定时器触发中断: 2:代码配置 在main.c中 /* USER CODE BEGIN 2 ...
- [转载]Linux驱动-SPI驱动 之二:SPI通用接口层
通过上一篇文章的介绍,我们知道,SPI通用接口层用于把具体SPI设备的协议驱动和SPI控制器驱动联接在一起,通用接口层除了为协议驱动和控制器驱动提供一系列的标准接口API,同时还为这些接口API定义了 ...
- 3:STM32CubeMX配置STM32F103C8T6驱动-RTC驱动
时钟配置 配置RTC 代码配置 Rte_Timer.h typedef struct {uint8 WeekDay; /*!< Specifies the RTC Date WeekDay (n ...
- 0.96OLED STM32 SPI驱动(一)
闲来无聊,翻出了一个OLED,本来想串流做个小显示器用,感觉难度太大.将就变成了下面这 个样子,姑且叫火柴人大乱斗之OLED. 火柴人之OLED 分两步走,先驱动OLED能显示一副图片,本篇讲述此内容 ...
- 4412 SPI驱动
1.Linux主机驱动和外设驱动分离思想(I2C驱动里有) SPI驱动总线架构:SPI核心层(x),SPI控制器驱动层(x),SPI设备驱动层(√).前面两个设备驱动搞明白了可以去看 2.教程中介绍: ...
- STM32CubeMX 配置CAN总线进行双板通信(STM32F103C8T6)
本篇详细的记录了如何使用STM32CubeMX配置 STM32F103C8T6 的硬件CAN接口与另一个开发板之间通信. 1.硬件设计 我这里使用的TJA1050T作为CAN通信收发器,连接f103的 ...
- STM32CubeMX | 基于STM32使用HAL库硬件SPI驱动WK2124一拖四SPI转四路串口芯片
STM32CubeMX | 基于STM32使用HAL库硬件SPI驱动WK2124一拖四SPI转四路串口芯片 STM32基础工程生成 首先使用STM32CUBEMX生成STM32的基础工程,配置时钟到7 ...
最新文章
- Bag标签之中的一个行代码实行中文分词实例2
- 同一个商户周结数据中既有分账交易又有非分账交易的处理方式
- 华为P50系列旗舰恐延期至5月发布:首发预装鸿蒙系统
- Spring如何优雅地发送异步发送通知?
- JP-Word 简谱编辑(JPW简谱)打谱软件免费版下载 WiN
- 声道测试音频_一音成佛的尺八音色,电吹管的单声道和双声道录音对比(2)
- 写在博士旅程之前|博士第一年|博士第三年|博士第四年
- 自训练和半监督学习介绍
- 台式计算机那里可以录音,录音机怎么录音?电脑录音介绍
- 基于 Node.js + Koa 构建完整的 Web API 项目
- 高效工程师系列(一) 如何找到一个利于自己成长的环境
- 高电平输入好还是rca输入好_德国伊顿ETON 7.1 DSP测评:为大系统而生
- response的响应头,下载文件
- linux低级挖矿病毒的查找定位
- delphi控件切图界面闪烁_8、控件系列之_加载占位图+页面指示器
- php curl常用的5个例子
- 书写历史的甲骨文--ORACLE公司传奇(转)
- Python高级:数据库CRUD操作
- 看我如何发送匿名邮件(.NET)
- 毕业学生就业数据可视化平台。