国产芯片

声明:本文旨在帮助自己记录芯片的常用配置过程。同时希望分享出自己的使用经验,让更多的人加入国产芯片的开发中。
新的技术往往都来自于模仿。从模仿到超越。芯片国产化的过程需要模仿已经比较成熟的产品,让使用者好入手,增加自己的用户量。

HHD32F107 SPI通信

首先,这里使用的是单片机内部自带的SPI模块,即硬件SPI。使用硬件SPI的好处是,在进行SPI通信时,往来的数据交给外设模块处理,内核可以响应别的操作。

1. SPI模块简介

2. SPI相关的引脚

如下图所示,3路SPI引脚。

3. 软件引脚配置以及SPI初始化

ST_PINS pins_table[] =
{__HHD_PIN(G,   11,    1,   OUTPUT,         GPIO_Mode_DEF),  // SPI1 NSS  (实际使用的是PA4 , 但是却需要配置PG11)__HHD_PIN(A,    5,    2,   OUTPUT,         GPIO_Mode_DEF),   // SPI1 SCLK__HHD_PIN(A,    6,    2,   INPUT,          GPIO_Mode_DEF),   // SPI1 MISO__HHD_PIN(A,    7,    2,   OUTPUT,         GPIO_Mode_DEF),   // SPI1 MOSI
};/*
该函数可以替代统一进行的IO配置中,SPI的IO配置。
IO初始化 二选一
*/
void SPI_IOCONFIG(void)
{#if 0SPI1_SSEL_PG11;SPI1_SCK_PG10 ;SPI1_MISO_PG8 ;SPI1_MOSI_PG9 ;
#endif#if 1  SPI1_SSEL_PG11;SPI1_SCK_PA5;   SPI1_MISO_PA6;SPI1_MOSI_PA7;
#endif}void SPI1Init(void)
{/*SPI1SSI    =7 8位传输数据主机工作模式0 CP0L和CPHA两个寄存器传输速率100K*/SPI_Open(SPI1,  SPI_FRAME,              7,          SPI_MASTER,       SPI_MODE0,            100000);  SPI_Set_SSEL_High(SPI1);//SPI_SetClk(SPI1,1000000);//在使能SPI之前被设置return;
}
//主要目的是得到一个8位数据(而不是16位)
uint8_t SPIx_ReadWriteByte(HHD32F1_SPI_TypeDef* SPIx, uint16_t WriteData)
{uint16_t data,data1;data =    WriteData;  data1=SPI_SingleWriteRead(SPIx,&data);//底层驱动return (uint8_t)data1;}
void SetFpgaReg(uint8_t offset,uint16_t dd)
{SPI_Reset_SSEL_Low(SPI1);SPIx_ReadWriteByte(SPI1,offset);       //发送地址  写数据SPIx_ReadWriteByte(SPI1,dd>>8);        //高位数据SPIx_ReadWriteByte(SPI1,dd&0xff);      //低位数据SPI_Set_SSEL_High(SPI1);
}uint16_t GetFpgaReg(uint8_t offset)
{uint16_t data=0xFFFF;SPI_Reset_SSEL_Low(SPI1);SPIx_ReadWriteByte(SPI1,offset);              //发送地址    data =SPIx_ReadWriteByte(SPI1,0xff)<<8;     //接收高位数据data|=SPIx_ReadWriteByte(SPI1,0xff);        //接收低位数据SPI_Set_SSEL_High(SPI1);return data;
}

#HHD32F107# SPI通信相关推荐

  1. STM32 SPI通信(读写flash)

    SPI通信 四线制 MISO:主设备数据输入,从设备数据输出 MOSI:主设备数据输出,从设备数据输入 SCLK:时钟信号 CS:片选引脚(低电平有效) 时序图 读写程序 flash读写函数: u8 ...

  2. android spi串口调试,PIC入门3,SPI通信和串口调试实验

    原标题:PIC入门3,SPI通信和串口调试实验 MSSP模块工作于SPI主控方式,这个可以直接在实验板上执行. 程序: //适合3EPIC实验板,配置PIC的MSSP模块工作于SPI主控方式下, // ...

  3. TLE5012B ESP32驱动程序、硬件电路设计、4线SPI通信,驱动完美兼容4线SPI不用改MOSI开漏推挽输出

    一.TLE5012B 简介 TLE5012B 是一种款高分辨率旋转位置传感器,用于在整个 360 度范围内进行角度测量. 它通过使用单片集成 巨磁阻 (iGMR) 元件,来测量正弦和余弦角分量,这些原 ...

  4. AS5047P磁编码器ESP32驱动程序、硬件电路设计、SPI通信时序、逻辑波形分析、注意事项

    1.AS5047P硬件设计 1.1 简介.性能参数 AS5047P 是一种款高分辨率旋转位置传感器,用于在整个 360 度范围内进行高速(高达 28krpm)角度测量.这种新型位置传感器配备了革命性的 ...

  5. SPI通信实验---verilog(FPGA作为从机,使用可读可写)

    文章原地址: http://www.cnblogs.com/fhyfhy/p/4429302.html SPI通信实验---verilog(FPGA作为从机,使用可读可写) 本实验讲究实用性,故设计思 ...

  6. stm32f405rgt6与as5048a的SPI通信问题

    与as5048a的SPI通信问题 本人最近在学习无刷直流电机的FOC,其中用了一个带有磁编码器as5048a作为角度反馈的电机,其中pwm接口输出是正常的,但是在SPI通信的时候出现了问题.研究了几天 ...

  7. ADI官方解释在SPI通信期间,数据的发送(串行移出到MOSI/SDO总线上)和接收(采样或读入总线(MISO/SDI)上的数据)

    串行外设接口(SPI)是微控制器和外围IC(如传感器.ADC.DAC.移位寄存器.SRAM等)之间使用最广泛的接口之一.本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以 ...

  8. CC3200 与 CC2530的SPI通信

    目的:实现CC2530作为master,CC3200作为slave的SPI 通信 连接图如下 /*--------------------------– Master Slave ----- ---- ...

  9. 通信协议整理之 SPI 通信

    通信协议整理之 SPI 通信 文章目录 通信协议整理之 SPI 通信 简介 工作原理 通信连接方式 补充 硬件 SPI 和模拟 SPI 简介 SPI是串行外设接口(Serial Peripheral ...

最新文章

  1. python中约瑟夫环程序_Python实现约瑟夫环问题的方法
  2. Mysql的性能优化
  3. VC++ 6.0 中如何使用 CRT 调试功能来检测内存泄漏[转]
  4. 2017年12月英语四级翻译预测
  5. ASP.NET Core 查看应用状态和统计
  6. dcc garch matlab,如何用Eviews或者MATLAB实现DCC-garch模型?
  7. 【TensorFlow学习笔记:神经网络优化(6讲)】
  8. win8:querySelector()方法
  9. arcgis 4.x graphicslayer点击事件_ArcGis中X、Y值的巧用方法小记
  10. 【python】字典的嵌套
  11. B站网站后台工程源码泄露 用户信息还安全吗?
  12. win7 IIS安装与配置
  13. SuperMap WebGL拖拽式画圆和画矩形
  14. 【计算机网络】---局域网
  15. wildcard函数
  16. 解决richedit的内容不能超过64k的方法
  17. 怎么把照片转换成jpg格式?这个好方法拿去
  18. 滑动鼠标滚轮后浏览器页面抖动
  19. Neo4j之Cypher概述
  20. 操作系统:七种进程调度算法

热门文章

  1. 速算24点java_HDU-1427-速算24点
  2. 非线性规划与KKT(二)
  3. [源码+pdf]Detailed human shape estimation from a single image by hierarchical meshdeformation
  4. 数学之美读书感悟03
  5. 方舟服务器自动维护,明日方舟剿灭关卡积水潮窟地图分析 干员选择与站位推荐[多图]...
  6. JavaScript获取元素下标的几种方法
  7. 怎么开发联机小游戏_Q飞机游戏:空战吃鸡大乱斗游戏!好玩的联机Q飞机对战小游戏...
  8. 计算机组成原理第一章
  9. image-conversion 图片压缩,vue
  10. Java 实现抓包程序