当前位置: 首页 > news >正文

继电器做网站怎么开发网站

继电器做网站,怎么开发网站,免费云主机网址,wordpress完整网址在SPI(串行外设接口)通信中,D0、D1、D2、D3通常指的是数据线,也叫做数据引脚或通道。这些引脚的使用可能会根据具体设备或配置的不同而有所变化。 标准的SPI通信接口通常包含以下四个主要引脚: MOSI(Master…

在SPI(串行外设接口)通信中,D0、D1、D2、D3通常指的是数据线,也叫做数据引脚或通道。这些引脚的使用可能会根据具体设备或配置的不同而有所变化。

标准的SPI通信接口通常包含以下四个主要引脚:

  1. MOSI(Master Out Slave In) - 主设备输出从设备输入,也称D0或数据线0(Data Line 0)。
  2. MISO(Master In Slave Out) - 主设备输入从设备输出,也称D1或数据线1(Data Line 1)。
  3. SCLK(Serial Clock) - 串行时钟信号,用于同步主设备和从设备之间的数据传输。
  4. SS/CS(Slave Select/Chip Select) - 从设备选择信号,主设备使用该信号选择与哪个从设备进行通信。

除了上述标准的引脚,有些SPI设备支持双向或四向SPI通信模式,分别称为双SPI(Dual SPI)和四SPI(Quad SPI),这些模式可以利用更多的数据线来提高数据传输速率。以下是这些模式下的引脚描述:

双SPI(Dual SPI)

在双SPI模式下,数据通过两条线进行双向传输:

  • D0: 双SPI模式下的第一条数据线,相当于MOSI。
  • D1: 双SPI模式下的第二条数据线,相当于MISO。

四SPI(Quad SPI)

在四SPI模式下,数据通过四条线进行传输,以进一步提高传输速率:

  • D0: 四SPI模式下的第一条数据线(也称IO0或DQ0)。
  • D1: 四SPI模式下的第二条数据线(也称IO1或DQ1)。
  • D2: 四SPI模式下的第三条数据线(也称IO2或DQ2)。
  • D3: 四SPI模式下的第四条数据线(也称IO3或DQ3)。

四SPI模式允许在一次时钟周期内传输更多的数据,显著提高了数据传输效率。这种模式常用于需要高速数据传输的存储器件,如闪存。

#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include "nrf.h"
#include "bsp.h"
#include "app_util_platform.h"
#include "nrfx_qspi.h"
#include "nrf_delay.h"#define QSPI_SCK_PIN   NRF_GPIO_PIN_MAP(0, 19)
#define QSPI_CSN_PIN   NRF_GPIO_PIN_MAP(0, 17)
#define QSPI_IO0_PIN   NRF_GPIO_PIN_MAP(0, 20)
#define QSPI_IO1_PIN   NRF_GPIO_PIN_MAP(0, 21)
#define QSPI_IO2_PIN   NRF_GPIO_PIN_MAP(0, 22)
#define QSPI_IO3_PIN   NRF_GPIO_PIN_MAP(0, 23)#define DATA_SIZE      256
#define ERASE_ADDR     0x00000000static uint8_t m_buffer_tx[DATA_SIZE];
static uint8_t m_buffer_rx[DATA_SIZE];
static volatile bool qspi_done = false;static void qspi_handler(nrfx_qspi_evt_t event, void *p_context) {if (event == NRFX_QSPI_EVENT_DONE) {qspi_done = true;}
}static void qspi_init(void) {nrfx_qspi_config_t qspi_config = NRFX_QSPI_DEFAULT_CONFIG;qspi_config.pins.sck_pin = QSPI_SCK_PIN;qspi_config.pins.csn_pin = QSPI_CSN_PIN;qspi_config.pins.io0_pin = QSPI_IO0_PIN;qspi_config.pins.io1_pin = QSPI_IO1_PIN;qspi_config.pins.io2_pin = QSPI_IO2_PIN;qspi_config.pins.io3_pin = QSPI_IO3_PIN;ret_code_t ret = nrfx_qspi_init(&qspi_config, qspi_handler, NULL);APP_ERROR_CHECK(ret);
}static void wait_for_qspi(void) {while (!qspi_done) {__WFE();}qspi_done = false;
}static void qspi_erase_sector(uint32_t addr) {ret_code_t ret = nrfx_qspi_erase(NRF_QSPI_ERASE_LEN_4KB, addr);APP_ERROR_CHECK(ret);wait_for_qspi();
}static void qspi_write_data(uint32_t addr, const uint8_t *data, size_t size) {ret_code_t ret = nrfx_qspi_write(data, size, addr);APP_ERROR_CHECK(ret);wait_for_qspi();
}static void qspi_read_data(uint32_t addr, uint8_t *data, size_t size) {ret_code_t ret = nrfx_qspi_read(data, size, addr);APP_ERROR_CHECK(ret);wait_for_qspi();
}int main(void) {bsp_board_init(BSP_INIT_LEDS);qspi_init();// 填充数据缓冲区for (uint32_t i = 0; i < DATA_SIZE; i++) {m_buffer_tx[i] = i;}// 擦除扇区qspi_erase_sector(ERASE_ADDR);// 写入数据到闪存qspi_write_data(ERASE_ADDR, m_buffer_tx, DATA_SIZE);// 读取数据从闪存qspi_read_data(ERASE_ADDR, m_buffer_rx, DATA_SIZE);// 验证数据for (uint32_t i = 0; i < DATA_SIZE; i++) {if (m_buffer_rx[i] != i) {bsp_board_led_on(BSP_BOARD_LED_1);  // 如果数据不匹配,点亮LED 1while (true) {// 数据不匹配,停留在此处}}}bsp_board_led_on(BSP_BOARD_LED_0);  // 数据匹配,点亮LED 0while (true) {// 主循环}
}
http://www.mnyf.cn/news/15588.html

相关文章:

  • 网站购物分享seo郑州网站建设价格
  • 帮忙网页设计师百度seo排名规则
  • 单站点网站天津seo诊断
  • 适合权重小的网站做的专题最常用的网页制作软件
  • 怎么做期货网站交换友情链接的要求有
  • 一个人可以做网站吗做网站的平台有哪些
  • 网站设计中遇到的问题免费网络项目资源网
  • 溧阳做网站整合营销策划方案
  • 手机网站建设咨询电话六种常见的网络广告类型
  • 网站改版后百度不收录专业seo网络推广
  • 分析网站建设流程应用商店下载安装
  • 北京网站开发公司大全网推和地推的区别
  • 做网站好平台化苏州疫情最新通知
  • 谷歌外贸建站做网站的网络公司
  • 如何利用网站做淘宝联盟最新时事热点
  • 天津网站制作西安网络营销是网上销售吗
  • wordpress oss 静态百度seo如何做
  • 佛山网站建设团队万州网站建设
  • 新余 网站建设一站式网络营销
  • 北京专业网站设计推荐网络公司的推广
  • 徐州泉山区建设局网站web前端培训费用大概多少
  • 高水平的锦州网站建设怎么在网上销售
  • 网站建设的必要性及意义免费网络推广软件
  • 网站如何做su企业做推广有几种方式
  • 广州网站建设论坛百度医生在线问诊
  • wordpress双击图片放大seo页面链接优化
  • wordpress标题连接符百度seo发包工具
  • wordpress自定义附近上传路径seo知识培训
  • wordpress行业模版网络优化报告
  • 如何选择丹阳网站建设网络推广的话术怎么说