亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

使用nRFF54L15初始化一個SPI

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

掃碼添加小助手

加入工程師交流群

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

Nordic官方課程

官方已經(jīng)寫了一個SPI的課程,寫的挺詳細的可以,也可以看這個課程
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

新建一個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);

	/* 檢查設備是否準備好 */
    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庫

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

宏配置

CONFIG_NRFX_SPIM22=y

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

審核編輯 黃宇

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

    關(guān)注

    3

    文章

    1091

    瀏覽量

    50893
  • Nordic
    +關(guān)注

    關(guān)注

    9

    文章

    229

    瀏覽量

    48670
  • Zephyr
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    nRF54L15初始化SPI

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

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

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

    GraniStudio:初始化例程

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

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

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

    nRF54L15 # 超低功耗無線 SoC

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

    nRF54L15如何初始化GRTC

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

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

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

    IM 系列設備過載保護機制下界面初始化中斷的底層邏輯與解決方案

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

    SD卡初始化初始化后再次初始化時會失敗,是什么原因?怎么解決?

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

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

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

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

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

    AFE5805是否需要初始化,是不是不通過SPI接口初始化芯片就發(fā)熱比較嚴重?

    請問下AFE5805是否需要初始化,是不是不通過SPI接口初始化芯片就發(fā)熱比較嚴重?
    發(fā)表于 01-14 07:28

    STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

    STM32F407微控制器單元(MCU)與SD NAND的結(jié)合提供了強大的存儲解決方案。然而,不斷電初始化失效問題可能會導致系統(tǒng)穩(wěn)定性和數(shù)據(jù)完整性受損。我們將STM32F407與SD NAND集成時可能遇到的初始化問題,并提供專業(yè)的解決方案。
    的頭像 發(fā)表于 12-11 10:51 ?1340次閱讀
    STM32F407 MCU使用SD NAND?不斷電<b class='flag-5'>初始化</b>失效解決方案

    ADS54J60初始化無效,輸出亂碼怎么解決?

    hardware reset by pulsing pin 48 (low → high → low))之前,8lane收到的都是0,初始化后的數(shù)據(jù)現(xiàn)狀和上面的差不多,似乎是對ADC配置并沒有生效,但是
    發(fā)表于 11-28 08:16

    基于旋轉(zhuǎn)平移解耦框架的視覺慣性初始化方法

    精確和魯棒的初始化對于視覺慣性里程計(VIO)至關(guān)重要,因為不良的初始化會嚴重降低姿態(tài)精度。
    的頭像 發(fā)表于 11-01 10:16 ?1269次閱讀
    基于旋轉(zhuǎn)平移解耦框架的視覺慣性<b class='flag-5'>初始化</b>方法