在LabVIEW的G語(yǔ)言中,循環(huán)表現(xiàn)為一個(gè)框框。數(shù)據(jù)進(jìn)入循環(huán)會(huì)有一個(gè)所謂的“隧道”,數(shù)據(jù)離開循環(huán)也要經(jīng)過“隧道”。隧道的表現(xiàn)形式為循環(huán)框上的一個(gè)小方塊。而隧道還可以配置為不同的模式,如下圖
遇到問題:PC端發(fā)送給stm32的字符串?dāng)?shù)據(jù),只有最后一個(gè)字節(jié)被保存在數(shù)組的首地址,其他數(shù)據(jù)都丟失,而且數(shù)組中只有首地址有數(shù)據(jù)。比如我用PC給stm32發(fā)送abcd,返回到PC串口助手的數(shù)據(jù)只有d,查看數(shù)組發(fā)現(xiàn)里面數(shù)據(jù)[d,
我們?cè)贚abVIEW里面使用While或者是For循環(huán)結(jié)構(gòu)的時(shí)候,就會(huì)發(fā)現(xiàn)每一個(gè)循環(huán)中在它們的循環(huán)結(jié)構(gòu)的邊界都可以自動(dòng)完成一個(gè)數(shù)組元素的索引或累積。LabVIEW中循環(huán)結(jié)構(gòu)的這種能力就叫做自動(dòng)索引(Auto-indexing)?! 〔贿^
終于說(shuō)到了指針。指針是C語(yǔ)言的精華部分,如果沒有指針,c語(yǔ)言對(duì)底層的許多操作將無(wú)法完成。也是因?yàn)橹羔樀拇嬖?,使得c語(yǔ)言看起來(lái)并不那么高級(jí),因?yàn)橹羔槻僮鞯膶?duì)象的是內(nèi)存地址,想要熟練地進(jìn)行指針操
一、指針是地址各種類型的數(shù)據(jù)被分配合適的內(nèi)存。比如整形數(shù)據(jù)通常被分配兩個(gè)連續(xù)的存儲(chǔ)單元(字節(jié))存放。對(duì)數(shù)據(jù)的訪問是通過分配給數(shù)據(jù)的內(nèi)存首地址來(lái)實(shí)現(xiàn)的。我們稱這些內(nèi)存地址為指針。二、指針變量是
1、數(shù)組傳遞給函數(shù),模擬傳引用調(diào)用的方式自動(dòng)把數(shù)組傳遞給函數(shù),意味著被調(diào)用的函數(shù)能夠修改原是數(shù)組的元素值,e.g.int hourly[24];//數(shù)組定義void modify(int [],int );//函數(shù)原型modify(hourly,24);
C語(yǔ)言中的指針和數(shù)組幾乎可以互換,數(shù)組名可認(rèn)為是一個(gè)常量指針,指針可用來(lái)完成涉及數(shù)組下標(biāo)的操作。e.g.int * nPtr;int Array[size];(1)數(shù)組與指針等價(jià)nPtr = Array;或者nPtr = &Array[0];(2)引
現(xiàn)象:程序燒錄板子后,單片機(jī)不啟動(dòng),卡死。注釋掉部分字節(jié)數(shù)組后,才能運(yùn)行。分析: 這是IAR編譯的方法,導(dǎo)致看門狗溢出了。MSP430單片機(jī)一上電看門狗就已經(jīng)啟動(dòng),但是在進(jìn)入main()函數(shù)之前,軟件會(huì)
單片機(jī)同一IO口輸出兩組數(shù)組基于80C51,因?yàn)闆]有多余的口可用,只能用同一IO口輸出兩組數(shù)組,高4位一組輸出0~9,低4位一組輸出0~15!試試看: MOV R0, #s1 ;數(shù)組一的指針 MOV R1, #s2 ;數(shù)組二的指針 LC
LabVIEW 8.2中數(shù)組的微積分運(yùn)算節(jié)點(diǎn)位于函數(shù)選板的“數(shù)學(xué)→積分與微分”,如圖所示。 如圖 積分與微分子選節(jié)點(diǎn) 積分與微分子選板對(duì)輸入的確定數(shù)組進(jìn)行積分和微分運(yùn)算。如表詳細(xì)列出了積分與微分子選板中函數(shù)和Ⅵ節(jié)
一維數(shù)組是最基本的數(shù)組,多維數(shù)組是在一維數(shù)組的基礎(chǔ)上創(chuàng)建的。一維數(shù)組的創(chuàng)建過程如下。 (1)創(chuàng)建數(shù)組框架。在前面板窗口控件選板中選擇控件“新式→數(shù)組、矩陣與簇→數(shù)組,置于前面板窗口的空白處,如圖1所示。
創(chuàng)建多維數(shù)組首先要在一維數(shù)組基礎(chǔ)上修改維數(shù)。修改數(shù)組維數(shù)通常有以下幾種方法。 (1)改變索引框大小來(lái)增減維數(shù)。將光標(biāo)移至索引號(hào)四周,出現(xiàn)改變大小的箭頭,單擊鼠標(biāo)拖動(dòng)箭頭改變索引號(hào)框的大小和索引號(hào)的個(gè)數(shù)。
創(chuàng)建數(shù)組過程中可能會(huì)包含很多重復(fù)的內(nèi)容,所以,有時(shí)可以利用循環(huán)結(jié)構(gòu)來(lái)創(chuàng)建數(shù)組。例如,創(chuàng)建上例中規(guī)律的二維數(shù)值數(shù)組,可按照以下步驟進(jìn)行。 第1步:創(chuàng)建一個(gè)For循環(huán),設(shè)置循環(huán)次數(shù)為3,用來(lái)創(chuàng)建數(shù)組行,如圖1所示
數(shù)組操作函數(shù)位于程序框圖窗口函數(shù)選板中的“編程→數(shù)組”子選板,如圖1所示。 圖1 數(shù)組操作函數(shù)子選板 數(shù)組操作函數(shù)包括對(duì)數(shù)組大小、數(shù)組元素、數(shù)組元素序號(hào)等的操作,表2列出了數(shù)組操作函數(shù)及其功能。 表2數(shù)組操作
例:選擇合適的數(shù)組操作函數(shù),計(jì)算數(shù)組中元素個(gè)數(shù);提取數(shù)組中第2行元素,循環(huán)后移3位;計(jì)算數(shù)組的最大值、最小值并轉(zhuǎn)置數(shù)組。 下面分別介紹選用的函數(shù)、程序框圖和函數(shù)的結(jié)果。 (1)使用函數(shù)“數(shù)組大小”計(jì)算數(shù)組中
作者:王姍姍,華清遠(yuǎn)見嵌入式學(xué)院講師。 請(qǐng)看下面的程序: #include <stdio.h> void func1(int arr[]) { printf("%d\\n",sizeof(arr)); arr=arr+1; printf("%d\\n",*arr); } void func2(int *arr) { printf("%d\\n"