日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> MCU知識(shí)總結(jié)

MCU知識(shí)總結(jié)

關(guān)鍵字:MCU 單片機(jī) 作者:admin 來源:不詳 發(fā)布時(shí)間:2018-05-19  瀏覽:18

1. Brown-Out Reset

掉電復(fù)位,或電源電壓跌落復(fù)位, 當(dāng)輸入電壓VCC跌到某一門限時(shí)芯片復(fù)位

The MCU is reset when the supply voltage VCC is below the Brown-Out Reset threshold voltage

and the Brown-out Detector is enabled. The Brown-out threshold voltage is programmable.

2. Totem-pole

推拉輸出電路

3. IAR調(diào)試出現(xiàn)The stack plug-in failed to set a breakpoint on "main". The Stack window will not be able to display stack contents. (You can change this setting in the Tool>Options dialog box.)的警告,程序能燒進(jìn)去,但不能調(diào)試。

需要進(jìn)行如下配置:

iar->options->linker->output->format;

選擇 Debug information for c-SPY選項(xiàng)

4. newlib

newlib是一個(gè)用于嵌入式系統(tǒng)的開放源代碼的C語言程序庫,由libc和libm兩個(gè)庫組成,特點(diǎn)是輕量級(jí),速度快,可移植到很多CPU結(jié)構(gòu)上。newlib實(shí)現(xiàn)了許多復(fù)雜的功能,包括字符串支持,浮點(diǎn)運(yùn)算,內(nèi)存分配(如malloc)和I/O流函數(shù)(printf,fprinf()等等)。其中l(wèi)ibc提供了c 語言庫的實(shí)現(xiàn),而libm提供了浮點(diǎn)運(yùn)算支持。

5. Open-drain

open-drain是漏極開路輸出的意思,相當(dāng)于集電極開路(open-collector)輸出,即ttl中的集電極開路(oc)輸出。

一般用于線或、線與,也有的用于電流驅(qū)動(dòng)。

open-drain是對(duì)mos管而言,open-collector是對(duì)雙極型管而言,在用法上沒啥區(qū)別。

開漏形式的電路有以下幾個(gè)特點(diǎn):

(1). 利用外部電路的驅(qū)動(dòng)能力,減少IC內(nèi)部的驅(qū)動(dòng)。 或驅(qū)動(dòng)比芯片電源電壓高的負(fù)載.

(2).可以將多個(gè)開漏輸出的Pin,連接到一條線上。通過一只上拉電阻,在不增加任何器件的情況下,形成“與邏輯”關(guān)系。這也是I2C,SMBus等總線判斷總線占用狀態(tài)的原理。如果作為圖騰輸出必須接上拉電阻。接容性負(fù)載時(shí),下降延是芯片內(nèi)的晶體管,是有源驅(qū)動(dòng),速度較快;上升延是無源的外接電阻,速度慢。如果要求速度高電阻選擇要小,功耗會(huì)大。所以負(fù)載電阻的選擇要兼顧功耗和速度。

(3). 可以利用改變上拉電源的電壓,改變傳輸電平。例如加上上拉電阻就可以提供TTL/CMOS電平輸出等。

(4). 開漏Pin不連接外部的上拉電阻,則只能輸出低電平。一般來說,開漏是用來連接不同電平的器件,匹配電平用的。

6.C語言中將絕對(duì)地址轉(zhuǎn)換為函數(shù)指針以及跳轉(zhuǎn)到內(nèi)存指定位置處執(zhí)行的技巧

要對(duì)絕對(duì)地址0x100000賦值,我們可以用

* (unsigned int * ) 0x100000 = 1234;

那么要是想讓程序跳轉(zhuǎn)到絕對(duì)地址是0x100000去執(zhí)行,應(yīng)該怎么做?

*((void (*)( ))0x100000 ) ( );

首先要將0x100000強(qiáng)制轉(zhuǎn)換成函數(shù)指針,即:

(void (*)())0x100000

然后再調(diào)用它:

*((void (*)())0x100000)();

用typedef可以看得更直觀些:

typedef void(*)() voidFuncPtr;

*((voidFuncPtr)0x100000)();

又如

如果用 C 語言,可以像下列示例代碼這樣來調(diào)用內(nèi)核:

void (*theKernel)(int zero, int arch, u32 params_addr)

= (void (*)(int, int, u32))KERNEL_RAM_BASE;

……

theKernel(0, ARCH_NUMBER, (u32) kernel_params_start);

KERNEL_RAM_BASE 是內(nèi)核在系統(tǒng)內(nèi)存中的第一條指令的地址。

7. On Die Termination

ODT(On-die Termination,片內(nèi)終結(jié)器)是內(nèi)建核心的終結(jié)電阻器。

使用DDR SDRAM的主板上面為了防止數(shù)據(jù)線終端反射信號(hào)需要大量的終結(jié)電阻,它大大增加了主板的制造成本。實(shí)際上,不同的內(nèi)存模組對(duì)終結(jié)電路的要求是不一樣的,終結(jié)電阻的大小決定了數(shù)據(jù)線的信號(hào)比和反射率。因此主板上的終結(jié)電阻并不能非常好地匹配內(nèi)存模組,還會(huì)在一定程度上影響信號(hào)品質(zhì)。DDRII內(nèi)建了終結(jié)電阻器,為DDRII帶來了兩個(gè)好處,一個(gè)是去掉了主板上的終結(jié)電阻器使主板的成本降低,也使PCB板的設(shè)計(jì)更加容易。第二個(gè)好處是終結(jié)電阻器可以和內(nèi)存顆粒的"特性"相符,使DRAM處于最佳狀態(tài)。看完全文了嗎?喜歡就一起來點(diǎn)個(gè) 贊 吧!

編輯:admin  最后修改時(shí)間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

吉木萨尔县| 丹巴县| 澄城县| 沙田区| 喀什市| 建宁县| 庐江县| 东山县| 仙居县| 剑阁县| 罗定市| 大荔县| 会宁县| 南投县| 乐至县| 东兰县| 舒兰市| 民和| 横山县| 临澧县| 通榆县| 六枝特区| 天峨县| 福海县| 淮北市| 永宁县| 兴化市| 英德市| 清镇市| 盘山县| 临湘市| 陆良县| 城步| 公主岭市| 子洲县| 古交市| 鸡泽县| 四子王旗| 通化县| 朝阳县| 鸡东县|