Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
AB32VG1
学习笔记
AB32VG1系列之模拟spi
发布于 2021-03-20 09:33:45 浏览:1365
订阅该版
[tocm] # SPI > 时间:2021年3月20日09:18:14 > > 作者:JiangYangJie > > 项目地址:https://gitee.com/JiangYangJie/ab32-vg1_-study_-notes ## 1.硬件 官方并没有给出硬件SPI的相关资料,因此只能使用IO来进行模拟SPI 在使用IO进行模拟SPI时遇到了一些关于硬件的坑。 1.引脚对不上   为解决这个问题只能使用其他IO口 ## 2.软件 本次驱动的是1.8寸TFT屏幕,其主控是ST3375,使用SPI的方式驱动。具体SPI代码如下,工程代码详见GITEE ```c // 发送8位数据 void lcd7735_senddata(uint8_t data) { for(int i=0;i<8;i++){ LCD_CLK0; if( data& 0x80){ LCD_SDA1; } else{ LCD_SDA0; } LCD_CLK1; data = data<<1; } } // 发送16位数据 void lcd7735_send16bData(uint16_t data) { for(int i=0;i<16;i++){ LCD_CLK0; if( data& 0x8000){ LCD_SDA1; } else{ LCD_SDA0; } LCD_CLK1; data = data<<1; } } ``` ```c /* * Copyright (c) 2006-2020, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2021-03-19 78677 the first version */ #include "main.h" static struct rt_thread spi_thread; ALIGN(RT_ALIGN_SIZE) static rt_uint8_t spi_thread_stack[1024]; static void Spi_Thread_Entry(void *parm); void Spi_Thread_Entry(void *parm){ lcd7735_ini(); lcd7735_fillrect(0,0,160,128,BLACK); rt_thread_mdelay(1000); lcd7735_putstr(80,0,"HELLO RT-THREAD",WHITE,BLACK); while(1){ rt_thread_mdelay(1000); } } int Spi_Init(void){ rt_thread_init(&spi_thread, "spi_thread", Spi_Thread_Entry, RT_NULL, &spi_thread_stack[0], sizeof(spi_thread_stack), 10, 10); rt_thread_startup(&spi_thread); return 0; } INIT_APP_EXPORT(Spi_Init); ``` ## 3.效果 
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
JiangYangJie
这家伙很懒,什么也没写!
文章
7
回答
0
被采纳
0
关注TA
发私信
相关文章
1
riscv32-elf-xmaker 工具的目的
2
AB32VG1 的 RTC 内部怎么知道自己是第一次上电的呢?
3
AB32VG1 蓝牙功能
4
AB32VG1 片上 flash 的库能否发布出来
5
【中科蓝汛AB32VG1】开发板是否支持USB HOST
6
有基于RT-Thread 和 AB32VG1 的蓝牙示例吗?
7
AB32VG1_RTC时钟
8
AB32 串口2.是哪个管脚
9
AB32VG1开发板的三路LPWM使用
10
使用RT-thread新建AB32VG1工程编译时报错
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
8
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
winfeng
2
个答案
1
次被采纳
YZRD
2
个答案
1
次被采纳
本月文章贡献
catcatbing
2
篇文章
5
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
阳光的掌控者
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部