單片機(jī)中一個(gè)程序的運(yùn)行過程分為取指令,分析指令和執(zhí)行指令幾個(gè)步驟。取指令的任務(wù)是:根據(jù)程序計(jì)數(shù)器PC中的值從程序存儲(chǔ)器讀出現(xiàn)行指令,送到指令寄存器。分析指令階段的任務(wù)是:將指令寄存器中的指令操作碼取出后進(jìn)行譯碼,分析其指令性質(zhì)。如指令要求操作數(shù),則尋找操作數(shù)地址。計(jì)算機(jī)執(zhí)行程序的過程實(shí)際上[詳細(xì)]
相比TI的CC254X、DIALOG的DA1458X,nordic推出的nrf51822和nrf52832在架構(gòu)和開發(fā)商都有自己獨(dú)特的地方。這幾顆產(chǎn)品都是藍(lán)牙低功耗芯片。DA1458X使用OTP硬件架構(gòu),功耗低,成本也低,但軟件開發(fā)難度是個(gè)門檻,大團(tuán)隊(duì)才能做到量產(chǎn),當(dāng)然掌握了也是競爭力(想學(xué)習(xí)開發(fā)就參考博主之前的分享吧)。如果對(duì)三種架構(gòu)都很熟[詳細(xì)]
【問】有網(wǎng)友問關(guān)于I2C總線的仲裁問題:The I2C-bus specification的第13頁有這樣的話:In other words, arbitration isn’t allowed between:* A repeated START condition and a data bit* A STOP condition and a data bit* A repeated START condition and a STOP condition.Slaves are n[詳細(xì)]
1.標(biāo)號(hào)IDATALEN EQU 80H ; the length of IDATA memory in bytes.這里IDATALEN只是一個(gè)標(biāo)號(hào)而已,和idata不是一回事!你要是愿意,這段程序里的IDATALEN你完全可以改成dog呀,pig呀,playboy呀這些標(biāo)號(hào)(其實(shí)我的理想是過豬一樣的生活,不愁吃喝,無憂無慮,可惜做不到),上面的這一句是說程序里面凡是用[詳細(xì)]
先說說Flash Loader這個(gè)小程序,IAR調(diào)試器C-SPY默認(rèn)是通過它來完成數(shù)據(jù)傳輸、Flash 擦除和燒寫等任務(wù),當(dāng)然前提是得選中Options->Debugger->Download選項(xiàng)下的“Use Flash Loader”,如下圖:下面我們說說Flashloader的工作原理,其實(shí)Flashloader是IAR為C-SPY調(diào)試器開發(fā)的一個(gè)可執(zhí)行小[詳細(xì)]
最近在玩九軸的慣性傳感器,很是有挑戰(zhàn)性.九軸說的是三軸的加速度計(jì)、三軸的陀螺儀以及三軸的磁場傳感器。但是只是單純的測出九個(gè)軸的數(shù)據(jù)沒什么用,關(guān)鍵是要能夠融合這九軸數(shù)據(jù)得出我們想要的結(jié)果。這里就運(yùn)用三階卡爾曼濾波算法來融合這九軸運(yùn)動(dòng)數(shù)據(jù)為三軸的角度。運(yùn)用這三個(gè)角度可以用來做自平衡車或者四軸飛[詳細(xì)]
公司里曾在北美作為產(chǎn)品研發(fā)經(jīng)理的資深人物某日和我閑聊,說到中美程序員的差別,北美的程序員,尤其是發(fā)明那些根本性東西比如JAVA, 比如Message機(jī)制,用得都是非常簡單的辦法,一方面,英語作為母語,與程序設(shè)計(jì)語言更加靠近,比中國的象形文字來的近,另一方面,這些北美的程序員似乎都深諳大道至簡的[詳細(xì)]
I2C的上拉電阻可以是1.5K,2.2K,4.7K, 電阻的大小對(duì)時(shí)序有一定影響,對(duì)信號(hào)的上升時(shí)間和下降時(shí)間也有影響,一般接1.5K或2.2KI2C上拉電阻確定有一個(gè)計(jì)算公式:Rmin={Vdd(min)-o.4V}/3mARmax=(T/0.874) *c, T=1us 100KHz, T=0.3us 400KHzC是Bus capacitanceRp最大值由總線最大容限(Cbmax)決定,Rp最小[詳細(xì)]
上一課我們的第一個(gè)項(xiàng)目完成了,可能有懂C語言的朋友會(huì)說,"這和PC機(jī)上的C語言沒有多大的區(qū)別呀"。的確沒有太大的區(qū)別,C語言只是一種程序語言的統(tǒng)稱,針對(duì)不同的處理器相關(guān)的C語言都會(huì)有一些細(xì)節(jié)的改變。編寫PC機(jī)的C程序時(shí),如要對(duì)硬件編程你就必須對(duì)硬件要有一定的認(rèn)識(shí),51單片機(jī)編程就更是如[詳細(xì)]
一、首先談一下幾種掉電不丟數(shù)據(jù)的存儲(chǔ)設(shè)備:1.Norflash:可擦寫,貴,在Norflash上可以直接運(yùn)行代碼!2.Nandflash:可擦寫,便宜,只能用于存儲(chǔ)數(shù)據(jù);3.磁盤:就是我們常說的硬盤,可擦寫,便宜,只能用于存儲(chǔ)數(shù)據(jù);二、正題1.MCU大多數(shù)單片機(jī)的代碼都是存在Norflash里面,這就意味著程序可以直接在f[詳細(xì)]
GCC警告選項(xiàng)對(duì)我們及時(shí)找出代碼中BUG,改善代碼品質(zhì)很有幫助。聽說高手們對(duì)每個(gè)警告選項(xiàng)都很熟悉,能靈活運(yùn)用各個(gè)警告選項(xiàng)來分門別類地過濾代碼中的BUG信息。1../SRC/libpjmacl/pjmacl_jaccmd.c:1661: 警告: dereferencing type-punned pointer will break strict-aliasing rulespjmacl_free((void*[詳細(xì)]
初學(xué)單片機(jī)時(shí),都會(huì)糾結(jié)于其各個(gè)模塊功能的應(yīng)用,如串口(232,485)對(duì)各種功能IC的控制,電機(jī)控制PWM,中斷應(yīng)用,定時(shí)器應(yīng)用,人機(jī)界面應(yīng)用,CAN總線等. 這是一個(gè)學(xué)習(xí)過程中必需的階段,是基本功。很慶幸,在參加電子設(shè)計(jì)大賽賽前培訓(xùn)時(shí),MCU周圍的控制都訓(xùn)練的很扎實(shí)。經(jīng)過這個(gè)階段后,后來接觸不同的MCU[詳細(xì)]
最近一直在做凌陽的GPL32001的單片機(jī)開發(fā),主打產(chǎn)品是一架鋼琴。在這架鋼琴上,我們可以看到遍布著很多按鍵,有琴鍵,也有功能選擇的按鍵,面對(duì)如此多的按鍵,對(duì)于一個(gè)剛出來工作的小伙伴肯定壓力比較大,琴鍵的特征和普通按鍵不太一樣,琴鍵的一個(gè)按鍵由兩個(gè)按鍵組成,一個(gè)按鍵儲(chǔ)存著兩樣信息,力度和鍵[詳細(xì)]
最近有不少軟件領(lǐng)域的牛人進(jìn)軍硬件行業(yè),但不知從何處入手。相信每個(gè)人面對(duì)一個(gè)龐大的知識(shí)體系時(shí)都一樣迷茫。最佳的應(yīng)對(duì)策略就是找一個(gè)最貼近自己需求的切入點(diǎn),然后向四面八方鋪開去逐漸認(rèn)識(shí)整個(gè)知識(shí)網(wǎng)絡(luò)。這篇文章就是為了讓你在這個(gè)知識(shí)網(wǎng)里面找到自己現(xiàn)在的位置,然后有目的有方向地選擇下一步。簡單來講[詳細(xì)]
這幾天,我在讀Seth Godin的《創(chuàng)業(yè)者圣經(jīng):有創(chuàng)意,無資金,如何起家》(The Bootstrapper's Bible,上海譯文出版社,2000)。當(dāng)你白手起家,開始創(chuàng)業(yè)的時(shí)候,市場往往已經(jīng)被幾家大企業(yè)牢牢占據(jù)。如何在與大企業(yè)的競爭中存活下來,就成了你面對(duì)的最大問題。許多創(chuàng)業(yè)者對(duì)這個(gè)問題缺乏清醒的認(rèn)識(shí),不懂得揚(yáng)[詳細(xì)]
通過CMSIS-utrealos項(xiàng)目中的CTBUG調(diào)試,使我對(duì)裸機(jī)C編程加深了認(rèn)識(shí)。那個(gè)BUG調(diào)試,現(xiàn)象是出現(xiàn)hard fault,但是fault出現(xiàn)地的匯編指令看著貌似沒啥問題,解決一處的fault后,其他處又出現(xiàn)fault了。最后我看到原來是fault出現(xiàn)地的指令中源地址錯(cuò)誤了,源地址應(yīng)該在數(shù)據(jù)段中,卻意外地落到了代碼段中。這個(gè)[詳細(xì)]
在單片機(jī)開發(fā)中,NOR_FLASH常用的有4M和8M的大小:4M的FLASH在程序中可以這樣表示:Ptr < 0x2200008M的FLASH在程序中可以這樣表示:Ptr < 0x400000(最大只能讀到0x3fffff)有了這個(gè)關(guān)系,在判斷NOR_FLASH好壞的方法上我們可以采用計(jì)算checksum的方式來校驗(yàn)。在程序中,我們一般把地址的指針定義為u[詳細(xì)]
1 軟件方面這應(yīng)該是最大的區(qū)別了。引入了操作系統(tǒng)。為什么引入操作系統(tǒng)?有什么好處?1、方便。主要體現(xiàn)在后期的開發(fā),即在操作系統(tǒng)上直接開發(fā)應(yīng)用程序。不像單片機(jī)一樣一切都要重新寫。前期的操作系統(tǒng)移植工作,還是要專業(yè)人士來做。2、安全。這是LINUX的一個(gè)特點(diǎn)。LINUX的內(nèi)核與用戶空間的內(nèi)存管理分開[詳細(xì)]
在嵌入式編程領(lǐng)域掌握三門語言應(yīng)該就算是無敵了,匯編,C,C++,精力有限掌握前兩個(gè)也湊合,再不行C一定要精通,否則只有當(dāng)老大了,呵呵,進(jìn)入這個(gè)行業(yè)一年多時(shí)間了,有些感受,學(xué)到了很多,也走了不少彎路,在這里想跟大家分享一下,主要是幫助初學(xué)者。嵌入式編程最難的兩部分就是interrupt和MM(memory mana[詳細(xì)]
一、獨(dú)立看門狗IWDG概述1.)看門狗設(shè)備(獨(dú)立看門狗和窗口看門狗)可用來檢測和解決由軟件錯(cuò)誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定的超時(shí)值時(shí),觸發(fā)一個(gè)中斷或產(chǎn)生系統(tǒng)復(fù)位。2.)功能圖:(由于本人無法貼圖,請(qǐng)見參考手冊,125頁)3.)獨(dú)立看門狗(IWDG)由專用的40kHz 的低速時(shí)鐘為驅(qū)動(dòng);因此,即使主時(shí)鐘發(fā)生故障它也[詳細(xì)]
掃碼關(guān)注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號(hào)-4