91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用nRFF54L15初始化一個(gè)SPI

TedLee ? 來源:jf_29076475 ? 作者:jf_29076475 ? 2025-06-27 14:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【NCS隨筆】
NCS使用了Zyphyr操作系統(tǒng),以及設(shè)備樹的概念,所以有許多客戶對于不了解,今天copy一個(gè)SPI初始化的例程,給讀者看

Nordic官方課程

官方已經(jīng)寫了一個(gè)SPI的課程,寫的挺詳細(xì)的可以,也可以看這個(gè)課程
https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-5-serial-peripheral-interface-spi/topic/exercise-1-10/

配置宏定義

在 prj.conf 使能SPI
CONFIG_SPI=y

添加overlay

新建一個(gè)nrf5l15dk_nrf54l15_cpuapp.overlay

添加需要的內(nèi)容

&pinctrl {
	spi22_default_alt: spi22_default_alt {
		group1 {
			psels = < NRF_PSEL(SPIM_SCK, 1, 12) >,
				 NRF_PSEL(SPIM_MISO, 1, 10) >,
				 NRF_PSEL(SPIM_MOSI, 1, 8) >;
		};
	};

	spi22_sleep_alt: spi22_sleep_alt {
		group1 {
			psels = < NRF_PSEL(SPIM_SCK, 1, 12) >,
			 NRF_PSEL(SPIM_MISO, 1, 10) >,
			 NRF_PSEL(SPIM_MOSI, 1, 8) >;
			low-power-enable;
		};
	};

};

&gpio2 {
	status = "okay";
};

&spi22 {
	status = "okay";
	pinctrl-0 = < &spi22_default_alt >;
	pinctrl-1 = < &spi22_sleep_alt >;
	pinctrl-names = "default", "sleep";
	overrun-character = < 0x00 >;
	cs-gpios = < &gpio1 14 GPIO_ACTIVE_LOW >;
	easydma-maxcnt-bits = < 0x400 >;
	dut_spi_dt: test-spi-dev@0 {
		compatible = "vnd,spi-device";
		reg = < 0 >;
		spi-max-frequency = < 8000000 >;
	};
};

main函數(shù)

/* SPI 描述結(jié)構(gòu)體 */
#define SPI_OP	(SPI_WORD_SET(8)|SPI_TRANSFER_MSB)
#define SPIM_OP	 (SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB |SPI_WORD_SET(8))
static struct spi_dt_spec spim = SPI_DT_SPEC_GET(DT_NODELABEL(dut_spi_dt), SPIM_OP, 0);





/**
 * @brief st7735發(fā)送命令
 */
static void st7735_send_command(uint8_t command)
{
   // TFT_DC_COMMAND;
    struct spi_buf tx_spi_buf = { .buf = (void *)&command, .len = 1 };
    struct spi_buf_set tx_spi_buf_set = {.buffers = &tx_spi_buf, .count = 1 };
    int ret = spi_write_dt(&spim, &tx_spi_buf_set);
    if (ret < 0) {
        LOG_ERR("SPI write data failed: %d", ret);
    }
}

int main(void)
{
	printf("Hello World! %sn", CONFIG_BOARD_TARGET);

	/* 檢查設(shè)備是否準(zhǔn)備好 */
    if (!spi_is_ready_dt(&spim)) {
        LOG_ERR("spi is not ready");
        return false;
    }

	while (1)
	{
		st7735_send_command(0x55);
		k_sleep(K_MSEC(500));
		printf("mr_st7735_send_command:0x55n");
	}
	
	return 0;
}

邏輯分析儀顯示數(shù)據(jù)沒有問題

image.png

使用nRFX庫

還有一個(gè)使用舊的nRF52_SDK庫的辦法,可以繞過zephyr的設(shè)備樹和API,其實(shí)zephyr底層也是調(diào)用nRF庫

宏配置

CONFIG_NRFX_SPIM22=y

&spi22 {
    status = "okay";
    compatible = "nordic,nrf-spim";
    pinctrl-0 = < &spi_dummy >;
};
最后一如既往的到了臭不要臉環(huán)節(jié),作為一名精通Nordic硬件設(shè)計(jì)和軟件開發(fā)的FAE,你的點(diǎn)贊、收藏和評論是對我最大的支持,有問題多多指教,如果有需要Nordic開發(fā)板、Nordic的芯片以及Nordic技術(shù)支持的可以在個(gè)人資料獲取我的聯(lián)系方式,感謝讀者支持!

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1101

    瀏覽量

    51735
  • Nordic
    +關(guān)注

    關(guān)注

    9

    文章

    257

    瀏覽量

    49026
  • Zephyr
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    6583
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    PC強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制():C#的EtherCAT總線初始化(下)

    通過使用配置工具導(dǎo)出ZAR文件進(jìn)行EtherCAT總線初始化
    的頭像 發(fā)表于 02-05 10:00 ?978次閱讀
    PC強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制(<b class='flag-5'>一</b>):C#的EtherCAT總線<b class='flag-5'>初始化</b>(下)

    MCU工程初始化,到底該不該交給工具?

    背景 工程初始化重復(fù)性高,但出錯(cuò)成本大。工程師常問:交給工具是不是會(huì)丟失掌控? 工具可做的事 時(shí)鐘樹、引腳復(fù)用、外設(shè)配置 工程生成、代碼模板套用 參數(shù)校驗(yàn)和約束檢查 工程師仍需做的事 特殊業(yè)務(wù)邏輯
    的頭像 發(fā)表于 01-29 10:18 ?145次閱讀
    MCU工程<b class='flag-5'>初始化</b>,到底該不該交給工具?

    EtherCAT總線初始化步驟

    EtherCAT(Ethernet for Control Automation Technology)是種高性能的工業(yè)以太網(wǎng)通信協(xié)議,廣泛應(yīng)用于工業(yè)自動(dòng)領(lǐng)域。其初始化過程是確保系統(tǒng)穩(wěn)定運(yùn)行
    的頭像 發(fā)表于 12-22 10:10 ?590次閱讀
    EtherCAT總線<b class='flag-5'>初始化</b>步驟

    NRF54L15的NORDIC芯片,adc的內(nèi)部參考電壓

    進(jìn)步確認(rèn): 關(guān)鍵補(bǔ)充說明 參數(shù)可靠性來源 技術(shù)實(shí)踐驗(yàn)證:開發(fā)者在使用 Zephyr API 或 nrfx 驅(qū)動(dòng)初始化 NRF54L15 的 ADC 時(shí),明確標(biāo)注內(nèi)部參考電壓為 0.9V,且需
    發(fā)表于 11-17 15:46

    nRF54L15初始化SPI

    、以下是基于NCS3.0.2的SPI初始化示例 1.1、主機(jī) 設(shè)備樹 此配置將 SPI21 配置為主機(jī),SCK/MOSI/MISO/CS 分別對應(yīng) P1.8/P1.12/P1.11/
    發(fā)表于 08-26 00:31

    GraniStudio:IO初始化以及IO資源配置例程

    IO資源配置.gsp文件,點(diǎn)擊打開,完成導(dǎo)入。 2.功能說明 實(shí)現(xiàn)連接格拉尼控制器IO塊以及配置輸入輸出IO點(diǎn)。 2.1通過初始化IO算子連接格拉尼控制器IO塊,導(dǎo)入工程自動(dòng)進(jìn)行連接。 2.2 通過IO配置算子輸出配置的IO表。 第次使用GS軟件時(shí)操作步驟如下: (1)
    的頭像 發(fā)表于 08-22 17:34 ?938次閱讀
    GraniStudio:IO<b class='flag-5'>初始化</b>以及IO資源配置例程

    GraniStudio:初始化例程

    說明 通過初始化運(yùn)控板卡算子連接格拉尼總線型運(yùn)控卡,導(dǎo)入工程自動(dòng)進(jìn)行連接,此算子為使用運(yùn)控控制板卡的第項(xiàng)操作,后續(xù)運(yùn)控算子需引用其輸出板卡對象才可使用。 3.異常處理 當(dāng)手動(dòng)執(zhí)行初始化運(yùn)控板卡算子出現(xiàn)錯(cuò)誤時(shí): 查看總線卡與驅(qū)動(dòng)
    的頭像 發(fā)表于 08-22 16:45 ?900次閱讀
    GraniStudio:<b class='flag-5'>初始化</b>例程

    定義IO初始化結(jié)構(gòu)體

    由上述IOPORT相關(guān)功能的枚舉類型我們可以知道,在對IOPORT模塊進(jìn)行初始化時(shí)需要根據(jù)情況配置它們。因此我們定義個(gè)IOPORT初始化的結(jié)構(gòu)體類型IOPORT_Init_t,它的成
    的頭像 發(fā)表于 07-16 16:26 ?1413次閱讀

    nRF54L15 # 超低功耗無線 SoC

    nRF54L15 概述 *附件:nRF54L15_nRF54L10_nRF54L05_Preliminary_Datasheet_v0.9.pdf 特征 128 MHz Arm Cortex-M33
    的頭像 發(fā)表于 07-01 16:57 ?3274次閱讀
    nRF<b class='flag-5'>54L15</b> # 超低功耗無線 SoC

    nRF54L15如何初始化GRTC

    保持計(jì)時(shí)功能。這種無縫切換機(jī)制確保了系統(tǒng)在各種工作狀態(tài)下都能維持精確的時(shí)間基準(zhǔn)。 超高精度與超長計(jì)時(shí)范圍 憑借 52 位的計(jì)數(shù)器寬度和 1 微秒的分辨率,GRTC 創(chuàng)造了令人驚嘆的計(jì)時(shí)能力。理論上,它可以連續(xù)運(yùn)行 142 年才會(huì)發(fā)生計(jì)數(shù)器溢出,這特性使其特別適合需
    的頭像 發(fā)表于 06-30 09:39 ?762次閱讀

    PTR54L15系列低功耗無線多協(xié)議模組

    PTR54L15系列多協(xié)議無線模組,基于Nordic新代nRF54L15平臺(tái)打造,以超低功耗、高性能和多協(xié)議支持為核心,為智能家居、工業(yè)自動(dòng)、可穿戴設(shè)備等場景提供了
    發(fā)表于 06-28 21:23

    IM 系列設(shè)備過載保護(hù)機(jī)制下界面初始化中斷的底層邏輯與解決方案

    、過載保護(hù)機(jī)制與界面初始化的關(guān)聯(lián)基礎(chǔ) IM 系列設(shè)備的過載保護(hù)機(jī)制是保障設(shè)備安全運(yùn)行的核心功能,其通過傳感器實(shí)時(shí)采集設(shè)備運(yùn)行參數(shù),如電流、電壓、溫度、系統(tǒng)資源占用率等。旦這些參數(shù)超出預(yù)設(shè)閾值
    的頭像 發(fā)表于 06-27 09:58 ?541次閱讀

    SD卡初始化初始化后再次初始化時(shí)會(huì)失敗,是什么原因?怎么解決?

    使用的是stm32F407驅(qū)動(dòng)個(gè)32G的tf卡,使用的SPI模式。第次上電時(shí),卡識(shí)別初始化能通過,但是再keil調(diào)試時(shí)復(fù)位,再運(yùn)行到
    發(fā)表于 06-20 07:21

    深入比較nRF52832和Nordic新的產(chǎn)品nRF54L15參數(shù)對比

    的:nRF54L15是Nordic最新的BLE芯片,它由nRF52832升級(jí)而來用以下表格做一個(gè)參數(shù)的對比 型號(hào) nRF52832 nRF54L15 內(nèi)核 Contex -M4 Contex -M33&
    發(fā)表于 03-26 22:28

    深入比較nRF52832和Nordic新的產(chǎn)品nRF54L15參數(shù)對比

    的:nRF54L15是Nordic最新的BLE芯片,它由nRF52832升級(jí)而來 用以下表格做一個(gè)參數(shù)的對比 型號(hào) nRF52832 nRF54L15 內(nèi)核 Contex -M4 Contex -M33&
    發(fā)表于 03-10 23:54