一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

LPC4357FET256 CAN0復(fù)位后,需要插入NOP延遲一段時(shí)間

li1756686189 ? 來源:嵌入式 MCU ? 2023-01-14 14:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

4f83c16e-93d4-11ed-bfe3-dac502259ad0.png

50bded5c-93d4-11ed-bfe3-dac502259ad0.png

CAN0復(fù)位后,在訪問CAN0外設(shè)之前,應(yīng)該添加至少20個(gè)NOP的復(fù)位延遲,而不是9個(gè)NOP復(fù)位延遲。否則無法訪問CAN0寄存器。9個(gè)NOP復(fù)位延遲是在將108MHz的Fcclk除以12MHz的FIRC內(nèi)部時(shí)鐘之后獲得的,如下LPC43xxUM文檔第15.4.1節(jié)備注所示。

50eef80c-93d4-11ed-bfe3-dac502259ad0.png

/* Chip_SetupCoreClock(CLKIN_CRYSTAL, MAX_CLOCK_FREQ, true); */

// Chip_SetupCoreClock(CLKIN_CRYSTAL, 108000000, true);

// CCLK 12MHz

Chip_SetupCoreClock(CLKIN_CRYSTAL, 12000000, true);

已通過輪詢復(fù)位標(biāo)志成功等待CAN0退出復(fù)位。

Chip_RGU_TriggerReset( RGU_CAN0_RST );

//NOP_operation();

while(Chip_RGU_InReset(RGU_CAN0_RST))

為什么 9 或者10 個(gè)NOP復(fù)位延遲時(shí)間不滿足要求,而20個(gè)NOP確可以呢?使用108Mhz時(shí)鐘作為內(nèi)核時(shí)鐘,如用戶手冊(cè)所說,在復(fù)位CAN后,需要等待108Mhz/12Mhz = 9個(gè)周期。但是實(shí)際測(cè)試需要20個(gè)周期數(shù)。當(dāng)內(nèi)核時(shí)鐘是12Mhz的時(shí)候,0或者1個(gè)等待周期數(shù)都是可以的。

-> 使用"NOP"來實(shí)現(xiàn) NOP_operation()是有風(fēng)險(xiǎn)的,由于Cortex-M用戶手冊(cè)提示如下:

NOP is not necessarily a time-consuming NOP. The processor might remove it from the pipeline before it reaches the execution stage.

511d9afe-93d4-11ed-bfe3-dac502259ad0.png

51431338-93d4-11ed-bfe3-dac502259ad0.png

可以使用MOV r0,r0或硬件定時(shí)器來實(shí)現(xiàn)等待周期,以避免編譯器和優(yōu)化級(jí)別配置的影響。

審核編輯:湯梓紅

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

    關(guān)注

    3

    文章

    1416

    瀏覽量

    41443
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2920

    瀏覽量

    467847
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1901

    瀏覽量

    133242
  • Cortex-M
    +關(guān)注

    關(guān)注

    2

    文章

    231

    瀏覽量

    30389
  • nop
    nop
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    2113

原文標(biāo)題:LPC4357FET256 CAN0復(fù)位后,需要插入NOP延遲一段時(shí)間

文章出處:【微信號(hào):嵌入式 MCU,微信公眾號(hào):嵌入式 MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    tc264隔一段時(shí)間會(huì)復(fù)位有些什么原因呢?

    tc264隔一段時(shí)間會(huì)復(fù)位有些什么原因呢
    發(fā)表于 02-02 07:31

    STM8L運(yùn)行一段時(shí)間死機(jī),手動(dòng)復(fù)位無效怎么解決?

    我們的是電池供電,LDO給主板供電,設(shè)備在用戶手上運(yùn)行一段時(shí)間,莫名死機(jī),回來拆機(jī)發(fā)現(xiàn)STM8L RST管腳始終處于低電平,必須拔電池上電才能復(fù)位,復(fù)位
    發(fā)表于 04-11 06:19

    STM8串口工作一段時(shí)間出現(xiàn)通訊異常的原因?

    能串口。發(fā)送數(shù)據(jù)前先發(fā)送幾個(gè)0x00喚醒對(duì)方再發(fā)有用數(shù)據(jù)。通訊速率很低。 產(chǎn)品在終端客戶手上使用一段時(shí)間可能會(huì)出現(xiàn)通訊不上的問題。出現(xiàn)問題后過一段時(shí)間可能會(huì)自行恢復(fù)。通過對(duì)STM8
    發(fā)表于 04-15 08:05

    STM8L運(yùn)行一段時(shí)間死機(jī),手動(dòng)復(fù)位無效,只能上電復(fù)位怎么解決?

    我們的是電池供電,LDO給主板供電,設(shè)備在用戶手上運(yùn)行一段時(shí)間,莫名死機(jī),回來拆機(jī)發(fā)現(xiàn)STM8L RST管腳始終處于低電平,必須拔電池上電才能復(fù)位,復(fù)位
    發(fā)表于 04-15 07:56

    STM3218B20讀取一段時(shí)間0是怎么回事?

    18b20讀取一段時(shí)間0
    發(fā)表于 04-22 06:58

    VL53L0在使用一段時(shí)間無法讀取數(shù)據(jù)如何解決?

    VL53L0在使用一段時(shí)間無法讀取數(shù)據(jù),已經(jīng)有好幾個(gè)模塊了,返回的錯(cuò)誤代碼有-6,-7和-20,這個(gè)到底是怎么回事?如何解決?
    發(fā)表于 05-28 08:07

    ADS1013采集運(yùn)放輸出數(shù)據(jù),一段時(shí)間變的很低是為什么?

    我用ADS1013采集AD8237運(yùn)放輸出直流數(shù)據(jù),開始采集得到的原始數(shù)據(jù)為683,對(duì)應(yīng)1.3v。一段時(shí)間大概5-9分鐘,ads1013讀出來的數(shù)據(jù)變成11,對(duì)應(yīng)0.02v,然后不再發(fā)生變化。需要系統(tǒng)
    發(fā)表于 12-17 07:09

    請(qǐng)問CC2630運(yùn)行一段時(shí)間會(huì)自動(dòng)復(fù)位是什么原因

    CC2630成功加入CC2530組建的網(wǎng)絡(luò),運(yùn)行一段時(shí)間大概幾十秒吧,就自動(dòng)復(fù)位了,從斷點(diǎn)中可以看到他從新開始運(yùn)行,目前排除是電源的問題,使用的是zstack_home_1.2.2a協(xié)議棧,用的是SampleSwitch工程。
    發(fā)表于 08-18 06:40

    STM32運(yùn)行一段時(shí)間死機(jī),手動(dòng)復(fù)位無效,只能上電復(fù)位才能正常運(yùn)行

    STM32運(yùn)行一段時(shí)間死機(jī),手動(dòng)復(fù)位無效,只能上電復(fù)位才能正常運(yùn)行,是不是STM32F030R8T6的芯片問題啊? 補(bǔ)充下,程序是做低功
    發(fā)表于 01-08 09:39

    回收LPC4357FET256 收購LPC4357FET256

    LPC4357FET256大量回收!高價(jià)收購LPC4357FET256??!高價(jià)收購LPC4357FET256!!! 大量回收LPC4357FET256!專業(yè)回收
    發(fā)表于 11-08 11:52

    STC使用一段時(shí)間真的會(huì)掉固件嗎?

    STC使用一段時(shí)間真的會(huì)掉固件?
    發(fā)表于 10-31 08:29

    米爾科技NXP LPC4357 LPC4350 Cortex-M4/M0開發(fā)板介紹

    NXP LPC4357FET256處理器
    的頭像 發(fā)表于 11-04 14:43 ?6307次閱讀
    米爾科技NXP <b class='flag-5'>LPC4357</b> <b class='flag-5'>LPC</b>4350 Cortex-M4/M<b class='flag-5'>0</b>開發(fā)板介紹

    微雪電子LPC Cortex M4開發(fā)板 Core4357簡介

    LPC4357FET256 核心板 最小系統(tǒng)板 引出了所有I/O資源 帶JTAG/SWD調(diào)試下載接口 型號(hào) Core4357 產(chǎn)品簡介 Core4357款基于
    的頭像 發(fā)表于 12-27 09:31 ?3165次閱讀
    微雪電子<b class='flag-5'>LPC</b> Cortex M4開發(fā)板 Core<b class='flag-5'>4357</b>簡介

    Arduino 接MPU6050 9250使用IIC通訊,輸出數(shù)據(jù)一段時(shí)間死機(jī)卡死的問題解決

    Arduino 接MPU6050 9250使用IIC通訊,輸出數(shù)據(jù)一段時(shí)間死機(jī)卡死的問題解決
    發(fā)表于 12-06 15:06 ?25次下載
    Arduino 接MPU6050 9250使用IIC通訊,輸出數(shù)據(jù)<b class='flag-5'>一段時(shí)間</b><b class='flag-5'>后</b>死機(jī)卡死的問題解決

    維修力科示波器604ZI開機(jī)一段時(shí)間黑屏

    一段時(shí)間黑屏維修 、示波器維修型號(hào):力科604ZI。 二、報(bào)修故障:開機(jī)使用一段時(shí)間黑屏。 三、故障檢測(cè):對(duì)內(nèi)部元件進(jìn)行詳細(xì)檢測(cè)。儀器
    的頭像 發(fā)表于 12-11 16:18 ?736次閱讀