完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > LPC
LPC是線性預(yù)測(cè)編碼是一種非常重要的編碼方法。從原理上講,LPC是通過(guò)分析話音波形來(lái)產(chǎn)生聲道激勵(lì)和轉(zhuǎn)移函數(shù)的參數(shù),對(duì)聲音波形的編碼實(shí)際就轉(zhuǎn)化為對(duì)這些參數(shù)的編碼,這就使聲音的數(shù)據(jù)量大大減少。
LPC是線性預(yù)測(cè)編碼(linear predictive coding,LPC)是一種非常重要的編碼方法。從原理上講,LPC是通過(guò)分析話音波形來(lái)產(chǎn)生聲道激勵(lì)和轉(zhuǎn)移函數(shù)的參數(shù),對(duì)聲音波形的編碼實(shí)際就轉(zhuǎn)化為對(duì)這些參數(shù)的編碼,這就使聲音的數(shù)據(jù)量大大減少。在接收端使用LPC分析得到的參數(shù),通過(guò)話音合成器重構(gòu)話音。合成器實(shí)際上是一個(gè)離散的隨時(shí)間變化的時(shí)變線性濾波器,它代表人的話音生成系統(tǒng)模型。時(shí)變線性濾波器既當(dāng)作預(yù)測(cè)器使用,又當(dāng)作合成器使用。分析話音波形時(shí),主要是當(dāng)作預(yù)測(cè)器使用,合成話音時(shí)當(dāng)作話音生成模型使用。隨著話音波形的變化,周期性地使模型的參數(shù)和激勵(lì)條件適合新的要求。
LPC是線性預(yù)測(cè)編碼(linear predictive coding,LPC)是一種非常重要的編碼方法。從原理上講,LPC是通過(guò)分析話音波形來(lái)產(chǎn)生聲道激勵(lì)和轉(zhuǎn)移函數(shù)的參數(shù),對(duì)聲音波形的編碼實(shí)際就轉(zhuǎn)化為對(duì)這些參數(shù)的編碼,這就使聲音的數(shù)據(jù)量大大減少。在接收端使用LPC分析得到的參數(shù),通過(guò)話音合成器重構(gòu)話音。合成器實(shí)際上是一個(gè)離散的隨時(shí)間變化的時(shí)變線性濾波器,它代表人的話音生成系統(tǒng)模型。時(shí)變線性濾波器既當(dāng)作預(yù)測(cè)器使用,又當(dāng)作合成器使用。分析話音波形時(shí),主要是當(dāng)作預(yù)測(cè)器使用,合成話音時(shí)當(dāng)作話音生成模型使用。隨著話音波形的變化,周期性地使模型的參數(shù)和激勵(lì)條件適合新的要求。
LPC學(xué)習(xí)筆記
從lpc-tutorial下載tutorial,通過(guò)閱讀教程來(lái)學(xué)習(xí)LPC。
關(guān)于LPC
LPC被發(fā)明出來(lái)是一個(gè)用于LPMUD的解釋性語(yǔ)言。LPMUD其實(shí)就是一個(gè)游戲服務(wù)器,那么就很清楚了LPC是一個(gè)用來(lái)寫(xiě)游戲服務(wù)器的腳本語(yǔ)言。
LPC這個(gè)名字暗示了和C語(yǔ)言的聯(lián)系。當(dāng)然兩者之間是有區(qū)別的,后面會(huì)漸次展開(kāi)來(lái)講。
LPC游戲解析
一個(gè)LPC游戲可以劃分為三個(gè)部分:游戲驅(qū)動(dòng)、mudlib、domain code。
游戲驅(qū)動(dòng):運(yùn)行于主機(jī)上的程序?;镜膶?duì)象管理核心和解釋器。它被用來(lái)理解LPC語(yǔ)言并執(zhí)行這些指令。
mudlib:LPC對(duì)象的集合。其中包含了基本的游戲環(huán)境。mulib里面的對(duì)象是最基本的游戲元素,比如玩家、怪物、房子等等。
domain code:???
語(yǔ)法入門(mén)
啥都別說(shuō)了,看代碼。
while語(yǔ)句
while (test)
statement;
if語(yǔ)句
if (this)
{
statement;
}
else if (that)
{
another_statement;
}
else
{
default_statement;
}
定義變量
int a, b, c;
for循環(huán):
for (a = 0; a 《 10; a++)
{
b = function_call(a, b * 2);
c = b * 3 / 4;
}
空語(yǔ)句循環(huán):
while (!(var = func(var)))
;
for循環(huán):
for (i = 0; i 《 100; i++);
{
《code that gets executed only once, but always》
}
定義方法:
public void
my_function(int a, int b)
{
《 code 》
}
文件頭注釋?zhuān)?/p>
/*
* 《filename》
*
* 《Short description of what the file does, no more than 5-7 lines.
* 。。.
* 。。. 》
*
* Copyright (C): 《your name and year》
*
*/
函數(shù)注釋?zhuān)?/p>
/*
*
*
* Arguments: 《A list of all arguments, one per line
* arg1 - description no longer than the line.
* arg2 - next argument, etc. 》
* Returns: 《What the function returns》
*/
LPC基本語(yǔ)言概念
LPC不是編譯型的,而是解釋型的語(yǔ)言。
每次運(yùn)行都被會(huì)重新解釋為機(jī)器語(yǔ)言。
其實(shí)這意味我們寫(xiě)的是一種間接語(yǔ)言,通過(guò)特定的解釋器執(zhí)行特定的機(jī)器語(yǔ)言。
LPC語(yǔ)言的文件都是以.c為后綴的。文件名全部小寫(xiě),如果文件里面含有多個(gè)單詞,用下劃線_把單詞隔開(kāi)。
LPC基本語(yǔ)法
注釋
// This is a comment stretching to the end of the line.
/* This is an enclosed comment */
數(shù)據(jù)類(lèi)型
void:nothing
int:the range -2147483648 to 2147483647.
float:range 1.17549435e-38 to 3.40282347e+38.
string:such as “hallo world!”
mapping:key value pair.
object:references to LPC programs loaded into memory.
function:LPC functions.
array:all of things
mixed:all of type
變量聲明
int counter;
float height, weight;
mapping age_map;
int counter = 8;
float height = 3.0, weight = 1.2;
mapping age_map = ([]);
object *monsters = ({});
基本上語(yǔ)法和pike是差不多的,如果還沒(méi)入門(mén)最好先去看看pike。pike學(xué)習(xí)筆記
如果沒(méi)有為變量賦初值,那么變量會(huì)被賦值為0,相當(dāng)于其他語(yǔ)言的null,一般來(lái)說(shuō)都不是我們希望看到的,所以哪怕賦值為空都好過(guò)沒(méi)有。
方法聲明
/*
* Compute the diameter of a circle given the circumference.
*
* Variables: surf_area - the surface area
* name - the name given the circle
* Returns: The circumference.
*/
float
compute_diam(float surf_area, string name)
{
float rval;
// Circumference = pie * diameter
rval = surf_area / 3.141592643;
write(“The diameter of ” + name + “ is ” + ftoa(rval) + “\n”);
return rval;
}
基本上對(duì)照上面的例子就知道怎么去聲明和定義一個(gè)方法了。
語(yǔ)句和表達(dá)式
就是一些算數(shù)、布爾、條件、比較操作符。跟pike差不多,不贅述了。
比較特別的是:
The statement ‘a = 1, 2, 3;’ will set ‘a’ to contain ‘1’。
一般我們寫(xiě)if語(yǔ)句都這樣寫(xiě):
if (name == “fatty”)
{
nat = “se”;
desc = “blimp”;
}
else if (name == “plugh”)
{
nat = “no”;
desc = “warlock”;
}
else if (name == “olorin”)
{
nat = “de”;
desc = “bloodshot”;
}
else
{
nat = “x”;
desc = “unknown”;
}
更好的選擇其實(shí)是使用switch語(yǔ)句:
switch (name)
{
case “fatty”:
nat = “se”;
desc = “blimp”;
break;
case “plugh”:
nat = “no”;
desc = “warlock”;
break;
case “olorin”:
nat = “de”;
desc = “bloodshot”;
break;
default:
nat = “x”;
desc = “unknown”;
}
省了很多括號(hào),而且更加清晰明了。
多用三元符號(hào)代替if-else語(yǔ)句:
int max(int a, int b)
{
if(a 》 b)
return a;
else
return b;
}
int max(int a, int b)
{
a 》 b ? a:b;
}
優(yōu)先級(jí)可以去查表:lpc優(yōu)先級(jí)查找
普通的循環(huán)語(yǔ)句就不再贅述了。
array
可以通過(guò)下面的方式聲明array:
int *my_arr, *your_arr;
float *another_arr;
object *ob_arr;
my_arr = ({})
雖然我覺(jué)得這種方式不太好。
可以聲明一個(gè)固定大小的array:
you_arr = allocate(3); // =》 your_arr = ({ 0, 0, 0 });
此外,如何想要在array后面或者前面添加元素,可以這樣:
int a = 3;
int *b = ({1,2});
b = b + ({a});
甚至還能切片,切片始終返回一個(gè)array:
my_arr = ({ 9, 3, 5, 10, 3 });
my_arr = my_arr[0..0] + my_arr[2..4]; // =》 ({ 9, 5, 10, 3 })
mapping
mapping就是鍵值對(duì)序列。
聲明一個(gè)mapping:
mapping my_map;
使用mapping的方法和pike一致。
比較特別的是,如果想刪除mapping內(nèi)的數(shù)據(jù),可以用這個(gè):
my_map = m_delete(my_map, “bertil”);
my_map = m_delete(my_map, “david”);
此外,如果查找一個(gè)不存在的鍵值對(duì),不會(huì)報(bào)錯(cuò),而是返回0.
預(yù)處理
預(yù)處理并不屬于LPC語(yǔ)言的一部分。在編譯為可執(zhí)行程序之前,預(yù)處理會(huì)將替換好所有的特定字符串。
導(dǎo)入源文件
當(dāng)我們需要一些其他源代碼文件提供的函數(shù)時(shí),我們可以通過(guò)下面的方式來(lái)導(dǎo)入:
#include 《standard_file》
#include “special_file”
#include 《stdproperties.h》
#include 《adverbs.h》
#include “/d/Genesis/login/login.h”
#include “my_defs.h”
#include “/sys/adverbs.h” // Same as the shorter one above
基本上和C語(yǔ)言導(dǎo)入源文件是一樣的。
宏定義
偶爾我們會(huì)需要用字符串來(lái)代替數(shù)字或者表達(dá)式,比如說(shuō):
#define MAX_LOGIN 100 /* Max logged on players */
#define LOGIN_OB “/std/login” /* The login object */
#define GREET_TEXT “Welcome!” /* The login message */
一般來(lái)說(shuō),不建議寫(xiě)宏。因?yàn)楹晔菬o(wú)類(lèi)型的,而且會(huì)在異常時(shí)無(wú)法確定到底是哪個(gè)地方出了問(wèn)題。建議使用常量來(lái)代替宏,記得宏之所以還存在完全是為了向下兼容。
#if, #ifdef, #ifndef, #else and #elseif
直接看代碼吧:
#if CODE_VAR == 2
《code that will be kept only if CODE_VAR == 2》
#else
《code that will be kept only if CODE_VAR != 2》
#endif
#define CODE_VAR /* This defines the existence of CODE_VAR */
#ifdef CODE_VAR
《code that will be kept only if CODE_VAR is defined》
#else
《code that will be kept only if CODE_VAR isn‘t defined》
#endif
#ifndef CODE_VAR
《code that will be kept only if CODE_VAR isn’t defined》
#else
《code that will be kept only if CODE_VAR is defined》
#endif
感覺(jué)用這些有硬編碼的感覺(jué),會(huì)增加理解代碼的難度,所以不推薦使用。
進(jìn)階篇
打印
1、write:自然不用在贅述了,相當(dāng)于printf。
2、dump_array:打印一個(gè)array所有值,調(diào)試的時(shí)候挺有用的。注意,pike里沒(méi)有這個(gè)函數(shù)。
函數(shù)調(diào)用
各種外部函數(shù)調(diào)用方式:
pie = math_ob-》compute_pie(1.0);
pie = “/d/Mydom/thewiz/math_ob”-》compute_pie(1.0);
pie = call_other(math_ob, “compute_pie”, 1.0);
pie = call_other(“/d/Mydom/thewiz/math_ob”, “compute_pie”, 1.0);
雖然后面三種也能調(diào)用函數(shù),但是這種代碼的可讀性太低了,完全應(yīng)該忘掉。
再來(lái)看看實(shí)際應(yīng)用時(shí)的情況:
object *people, *names;
mapping hp_map;
// Get a list of all players.
people = users();
// Get their names.
names = people-》query_real_name();
// Make a mapping to call with. Item = name:pointer
hp_map = mkmapping(names, people)
// Replace the pointers with hit point values.
hp_map = hp_map-》query_hp();
// All this could also have been done simpler as:
hp_map = mkmapping(users()-》query_real_name(), users()-》query_hp());
如何繼承一個(gè)對(duì)象類(lèi)?
inherit “《file path》”;
// 比如說(shuō)
inherit “/std/door”;
inherit “/std/room.c”;
//栗子
void
my_func()
{
/*
* This function exists in the parent, and I need to
* call it from here.
*/
?。海簃y_func(); // Call my_func() in the parent.
}
檢測(cè)變量類(lèi)型
由于變量可能是0或者任意類(lèi)型的東西,往往需要自己對(duì)變量做類(lèi)型檢查。
@bullet{int intp(mixed)}
Test if given value is an integer
@bullet{int floatp(mixed)}
Test if given value is a float
@bullet{functionp(mixed)}
Test if given value is a function pointer
@bullet{int stringp(mixed)}
Test if given value is a string
@bullet{int objectp(mixed)}
Test if given value is an object pointer
@bullet{int mappingp(mixed)}
Test if given value is a mapping
@bullet{int pointerp(mixed)}
Test if given value is an array
類(lèi)型限定符
static 變量:靜態(tài)的全局變量,聲明一次之后一直存在
static 函數(shù):只能內(nèi)部訪問(wèn),外部是不可見(jiàn)的
private 變量或函數(shù):不被繼承,只能對(duì)象內(nèi)部訪問(wèn)
normal 變量或函數(shù):can not be mask?
public 變量或函數(shù):默認(rèn)的限定符,任何成員都可訪問(wèn)內(nèi)部對(duì)象
varargs 函數(shù):可變參數(shù)數(shù)量的,按順序?qū)?shù)賦值,如果沒(méi)有則默認(rèn)賦值為0。
函數(shù)類(lèi)型
函數(shù)也可以作為一個(gè)變量。
function my_func, *func_array;
my_func = allocate;
my_func = &allocate();
int *i_arr;
i_arr = allocate(5); // Is the same as.。。
i_arr = my_func(5); // 。。. using the function assignment above.
通過(guò)這種方式給函數(shù)重命名。
switch case
LPC的switch case支持int范圍:
switch (i)
{
case 0..4:
write(“Try again, sucker!\n”);
break;
case 5..6:
write(“Congrats, third prize!\n”);
break;
case 7..8:
write(“Yes! Second prize!\n”);
break;
case 9:
write(“WOOOOPS! You did it!\n”);
break;
default:
write(“Someone has tinkered with the wheel.。。 Call 911!\n”);
break;
}
catch throw
LPC和普通語(yǔ)言的try-catch方式捕獲異常是不一樣的:
int catch(function)
e.g.
//0-fail 1-true
if (catch(tail(“/d/Relic/fatty/hidden_donut_map”)))
{
write(“Sorry, not possible to read that file.\n”);
return;
}
throw(mixed info)
e.g.
if (test 《 5)
throw(“The variable ‘test’ is less than 5\n”);
mapping、array 引用
LPC的mapping、array與pike一樣是引用類(lèi)型:
object *arr, *copy_arr;
arr = ({ 1, 2, 3, 4 }); // An array
copy_arr = arr; // Assume (wrongly) that a copy_arr becomes
// a copy of arr.
// Change the first value (1) into 5.
copy_arr[0] = 5;
//如果想要一份拷貝怎么做?
copy_arr = ({ }) + arr;
LPC/Mudlib接口
感覺(jué)到這里就是要開(kāi)始學(xué)習(xí)如何實(shí)際使用LPC來(lái)編程了。前面的都只是基本的語(yǔ)法知識(shí)。
首先介紹:/std/object.c。游戲里所有的對(duì)象都會(huì)繼承這個(gè)基本類(lèi)型。
其他類(lèi)型有:
`/std/armour.c‘
Armour of any kind
`/std/board.c’
Bulletin boards
`/std/book.c‘
A book with pages you can open, turn and read
`/std/coins.c’
The base of all kinds of money
`/std/container.c‘
Any object that can contain another
`/std/corpse.c’
Corpse of dead monsters/players/npcs
`/std/creature.c‘
Simple living creatures, basically a mobile that can fight
`/std/domain_link.c’
Use this as a base to preload things in domains
`/std/door.c‘
A door that connects two rooms
`/std/drink.c’
Any type of drink
`/std/food.c‘
Any type of food
`/std/guild (directory)’
Guild related objects (the guild and the shadows)
`/std/heap.c‘
Any kind of object that can be put in heaps
`/std/herb.c’
Herbs
`/std/key.c‘
Keys for doors
`/std/leftover.c’
Remains from decayed corpses
`/std/living.c‘
Living objects
`/std/mobile.c’
Mobile living objects
`/std/monster.c‘
Monsters of any kind
`/std/npc.c’
A creature which can use ‘tools’, i.e. weapons.
`/std/object.c‘
The base object class
`/std/poison_effect.c’
Handle effects in poison of any kind
`/std/potion.c‘
Potions
`/std/receptacle.c’
Any kind of closable/lockable container
`/std/resistance.c‘
Handle resistance against various kinds of things
`/std/room.c’
Any kind of room
`/std/rope.c‘
Rope objects
`/std/scroll.c’
Scrolls
`/std/shadow.c‘
Used as base when creating shadows
`/std/spells.c’
Spell objects, tomes etc
`/std/torch.c‘
Torches/lamps etc
`/std/weapon.c’
Any kind of weapons
對(duì)象的使用
一個(gè)對(duì)象總是能夠得到自己的引用:
ob = this_object()
這個(gè)就類(lèi)似于C++的this指針。
對(duì)象的函數(shù)能夠往前去查找調(diào)用此函數(shù)的對(duì)象(好神奇的感覺(jué)):
p_ob = previous_object(); // The object calling this function.
pp_ob = previous_object(-2); // The object calling the object
// calling this function.
甚至還能往前找指定層數(shù)的對(duì)象。
不過(guò)這個(gè)函數(shù)只能去找外部調(diào)用,如果我們想要更牛掰的話,用這個(gè):
object calling_object(void|int step)
用法是一樣的,但是能夠找內(nèi)部也能找外部。
怎么去判斷找到的是一個(gè)合法的東西呢?(不是一個(gè)0)用objectp(something)就好了:
if (objectp(calling_object(-2)))
write(“Yes, an ob calling an ob calling this object exists!\n”);
else
write(“No such luck.\n”);
函數(shù)類(lèi)型
在LPC里面,函數(shù)function也是一種對(duì)象,或者說(shuō)變量類(lèi)型。
可以像這樣定義一個(gè)函數(shù)指針:
function f = (: local_func :);
上面的 f 可以用于其他程序流程或外部函數(shù)中, 如同普通的變量值:
foo(f); map_array( ({ 1, 2 }), f);
或者可以直接執(zhí)行:
x = evaluate(f, “hi”);
等同于:
x = local_func(“hi”);
甚至于,定義函數(shù)指針時(shí)還能指定參數(shù):
function f = (: write, “Hello, world!\n” :);
evaluate(f);
顯然,會(huì)輸出:
Hello, world!
如果想要調(diào)用外部對(duì)象的函數(shù):
f = (: this_player(), ({ “query”, “short” }) :)
等同于:
f = (: call_other, this_player(), “query”, “short” :) /* 一個(gè)外部函數(shù)指針, 使用 call_other */
f = (: this_player()-》query(“short”) :) // 有效的運(yùn)算式; 請(qǐng)見(jiàn)下文。
特殊的,運(yùn)算式函數(shù)指針:
evaluate( (: $1 + $2 :), 3, 4) // 返回 7.
這可以用于 sort_array, 范例如下:
top_ten = sort_array( player_list,(: $2-》query_level() - $1-》query_level :) )[0..9];
不知名函數(shù)(函數(shù)內(nèi)部的函數(shù)):
void create() {
function f = function(int x) {
int y;
switch(x) {
case 1: y = 3;
case 2: y = 5;
}
return y - 2;
};
printf(“%i %i %i\n”, (*f)(1), (*f)(2), (*f)(3));
}作者:1angxi鏈接:http://www.jianshu.com/p/11a5a2afbf86來(lái)源:簡(jiǎn)書(shū)著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
lpc824 和lpc84x 微控制器的區(qū)別和聯(lián)系
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,MCU 處理器的能力日益強(qiáng)大,如今的MCU 與微處理器的界線越來(lái)越模糊,將會(huì)進(jìn)一步融合成為嵌入式處理器。由于AMetal 已經(jīng)完全...
LPC1754內(nèi)部PLL0原理及應(yīng)用設(shè)計(jì)詳解
LPC175x作為NXP公司主推的cortex-M3內(nèi)核芯片,廣泛應(yīng)用于各工控、電子計(jì)量、報(bào)警系統(tǒng)等領(lǐng)域,無(wú)論何種應(yīng)用,根據(jù)實(shí)際需求選擇合適的時(shí)鐘源并配...
嵌入式系統(tǒng)產(chǎn)品的加密和解密永遠(yuǎn)是一對(duì)矛盾的結(jié)合體。為了保護(hù)產(chǎn)品研發(fā)人員的技術(shù)成果,研究新型加密技術(shù)是非常有必要的。這次我們來(lái)聊聊使用芯片UID加密的方案。
2017-10-20 標(biāo)簽:LPC 1.2萬(wàn) 0
AM824-Core 開(kāi)發(fā)套件——LPC824 微控制器和1.2 LPC84x 微控制器
《面向AMetal框架與接口的編程(上)》一書(shū)對(duì)AMetal框架進(jìn)行了詳細(xì)介紹,通過(guò)閱讀這本書(shū),你可以學(xué)到高度復(fù)用的軟件設(shè)計(jì)原則和面向接口編程的開(kāi)發(fā)思想...
關(guān)于LPC產(chǎn)品系列的關(guān)鍵功能介紹(一)
我們將帶您了解LPC800和LPC1100產(chǎn)品系列的關(guān)鍵功能,以及這些低功耗、低成本MCU如何帶來(lái)與8位架構(gòu)相比的諸多優(yōu)勢(shì)。在本次會(huì)議中,我們將探討如何...
關(guān)于支持LCD顯示的LPC微控制器系列的介紹(一)
介紹LPC支持LCD顯示的微控制器系列,展示了LPC微控制器家族開(kāi)發(fā)和圖形設(shè)計(jì)工具的生態(tài)系統(tǒng),最后為大家逐步演示如何基于LPC微控制器開(kāi)發(fā)圖形交互應(yīng)用
剖析LPC2119USB-CAN連接器電路設(shè)計(jì)方案
為了更好的將USB的通用性和CAN的專(zhuān)業(yè)性結(jié)合起來(lái),通過(guò)計(jì)算機(jī)的USB接口接入CAN專(zhuān)業(yè)網(wǎng)絡(luò),實(shí)現(xiàn)系統(tǒng)控制的便利性和應(yīng)用的高效性。
2015-01-29 標(biāo)簽:LPC連接器應(yīng)用電路 6472 0
關(guān)于LPC產(chǎn)品系列的關(guān)鍵功能介紹(二)
我們將帶您了解LPC800和LPC1100產(chǎn)品系列的關(guān)鍵功能,以及這些低功耗、低成本MCU如何帶來(lái)與8位架構(gòu)相比的諸多優(yōu)勢(shì)。在本次會(huì)議中,我們將探討如何...
lpc5411x系列mcu的單核結(jié)構(gòu)與應(yīng)用
LPC5411x系列MCU的單核(Cortex-M4)和雙核(Cortex-M4和可選擇的Cortex-M0+)為各種永久使用的應(yīng)用提供了更高的功率效率...
類(lèi)別:PCB設(shè)計(jì)規(guī)則 2017-06-06 標(biāo)簽:lpcnxpcore
LPC47M13x pdf datasheet (128 P立即下載
類(lèi)別:IC datasheet pdf 2008-12-15 標(biāo)簽:LPC
TinyM0配套教程 LPC1100系列Cortex-M0最立即下載
類(lèi)別:嵌入式開(kāi)發(fā) 2010-11-17 標(biāo)簽:LPCTinyM0
W83627THF和W83627THG Winbond LPC IO產(chǎn)品的用戶(hù)手冊(cè)免費(fèi)下載立即下載
類(lèi)別:IC中文資料 2019-04-18 標(biāo)簽:IO驅(qū)動(dòng)器控制器
lpc2292/lpc2294 pdf datasheet立即下載
類(lèi)別:嵌入式開(kāi)發(fā) 2008-08-02 標(biāo)簽:lpc
類(lèi)別:數(shù)值算法/人工智能 2017-11-05 標(biāo)簽:LPC
如何使用拉普拉斯中心性和密度峰值進(jìn)行無(wú)參數(shù)聚類(lèi)算法的研究立即下載
類(lèi)別:模擬數(shù)字論文 2019-01-03 標(biāo)簽:LPC算法DBSCAN
所謂總線(Bus),是指計(jì)算機(jī)設(shè)備和設(shè)備之間傳輸信息的公共數(shù)據(jù)通道??偩€是連接計(jì)算機(jī)硬件系統(tǒng)內(nèi)多種設(shè)備的通信線路,它的一個(gè)重要特征是由總線上的所有設(shè)備共...
LPC1788是一種適合嵌入式應(yīng)用的Cortex-M3微控制器,具有較高的整合度和低功耗,運(yùn)行頻率為120 MHz。功能包括512 kB閃存、96 kB...
2017-11-03 標(biāo)簽:原理圖LPC開(kāi)發(fā)板 1.2萬(wàn) 0
LPC800 dip8封裝各項(xiàng)參數(shù)指標(biāo)介紹
LPC800是NXP推出可以替代8/16位單片機(jī)的產(chǎn)品,LPC800簡(jiǎn)單易用,LPC800以8位MCU的價(jià)格可以達(dá)到32位的性能備受好評(píng);可調(diào)用片內(nèi)的外...
Microchip推出業(yè)界首款商用eSPI至LPC橋接器
隨著工業(yè)計(jì)算行業(yè)從低引腳數(shù)(LPC)接口技術(shù)向增強(qiáng)型串行外設(shè)接口(eSPI)總線技術(shù)轉(zhuǎn)型,在應(yīng)用新標(biāo)準(zhǔn)時(shí),現(xiàn)有設(shè)備的更新將會(huì)產(chǎn)生大量開(kāi)發(fā)成本。
LPC2290微控制器是基于16位和32位ARM7TDMI-S CPU的實(shí)時(shí)仿真與嵌入式跟蹤支持。對(duì)于關(guān)鍵代碼大小應(yīng)用程序,可供選擇16位拇指模式減少了...
基于LPC與LSF系數(shù)轉(zhuǎn)換的FPGA實(shí)現(xiàn)
首先根據(jù)切比雪夫多項(xiàng)式求根法對(duì)LPC系數(shù)到LSF系數(shù)轉(zhuǎn)換過(guò)程進(jìn)行分析與推導(dǎo),并給出了根據(jù)已知的LSF系數(shù)進(jìn)行逆推求
單片機(jī)引腳的連接非常重要,如果單片機(jī)的管腳都通過(guò)一個(gè)CPLD連接后,在連接到應(yīng)用,是不是就可以不用擔(dān)心PCB畫(huà)板了,只需要更加應(yīng)用更改CPLD內(nèi)部連接就...
首顆適配 Intel MTL 平臺(tái)的EC芯片,它來(lái)了!!
LS101x具有高度兼容主流EC應(yīng)用方案的特點(diǎn),并內(nèi)嵌多種新型外設(shè),助力推動(dòng)EC方案創(chuàng)新和應(yīng)用拓展,滿(mǎn)足更多市場(chǎng)需求。LS101x作為主處理器的從設(shè)備,...
隨著科技的進(jìn)步,雙核逐漸被淘汰已是時(shí)間上的問(wèn)題,四核乃至八核心CPU也已不再是什么新奇的事物,不過(guò)在微控制器領(lǐng)域,雙核卻是個(gè)十分新穎的東西。很多工程師朋...
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語(yǔ)言教程專(zhuān)題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動(dòng)駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無(wú)刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺(jué) | 無(wú)人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國(guó)民技術(shù) | Microchip |
Arduino | BeagleBone | 樹(shù)莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |