• slider image 270
  • slider image 271
  • slider image 272
:::

論壇索引


Board index » All Posts




Re: 請問dsPIC有除法嗎??
版主
版主


從組合語言的指令來看 : 供有五個除法指令
DIV.S -- 有號數 16/16 整數除法
DIV.SD -- 有號數 32/16 整數除法
DIV.U-- 無號數 16/16 整數除法
DIV.UD --無號數 32/16 整數除法
DIV F --小號 16/16 整數除法

如用C語言小數點的計算就很簡單,先需告為浮點數,如下所示:
float A=5.123;
float B=2.111;
flaot C,D;

C=A*B;
D=A/B;


發表於: 2004/7/9 9:46
頂部


請問dsPIC有除法嗎??
中級會員
中級會員


請問dsPIC有乘法及除法嗎??
如果我做的乘除法算為有小數點的計算那程式寫法
會是類似

ex:
A=5.123
B=2.111
C=A*B
D=A/B

發表於: 2004/7/9 1:04
頂部


Re: 使用c18定義時#define常數的疑問及pragma romdata疑問
版主
版主


const 是用來定義不會被改變的數一般稱之為常數,在Hi-Tech PICC 及 C18裡,常用來宣告它是存放在 Flash ROM 的查表值,例如 lcd顯示的固定字串,SIN Table ...等固定不變的資料。記住它實際佔有記憶空間的。

#define 是定義以文字取代常數、數值、變數或 I/O位址...等,簡單而言就是以文字取代,編譯時不占記憶空間的,即使是取代變數也是你在宣告變數時佔用記憶空間,與#define無關。

發表於: 2004/7/8 21:51
頂部


Re: 如何燒錄pic18f452
新會員
新會員


我發現了一個問題
1.我插上16f877(購買PICDEM.net BOARD附的)時lcd有顯示ip:16.17.18.19
2.而第一次插上18f452(學弟交接給我的),lcd也有顯示ip:10.10.5.15
3.後來為了再看看16f877的網頁檔,所以用終端機下載webpage.rom(光碟附的)至24LC256(用終端機應該是下載至此I2C吧),此時16f877的網頁可觀看,但再度插上18f452時lcd卻顯示DHCP/Gleaning...,使原本的ip不見了,請問我應該怎麼做?謝謝

發表於: 2004/7/8 21:05
頂部


Re: 使用c18定義時#define常數的疑問及pragma romdata疑問
初級會員
初級會員


謝謝回答
最後再試了一下,我發現我的原因出在
例define c-1
在c還沒定義前就先運算,導致後面運算式算出來的值都錯誤
恩感激不盡
另外一問我們使用#define跟使用const來定義常數
兩者之間有什麼差別呢?

發表於: 2004/7/8 14:12
頂部


Re: 使用c18定義時#define常數的疑問及pragma romdata疑問
版主
版主


#define 的用意是用一個好記有意義的文字去取代一個數字、常數及文字。
用法如下:
#define KEY_SW1 PORTAbits.RA0
#define Baud_Rate 4000000/(51+1)

if (KEY_SW1) PORTB=0x00 ;

再寫程式中就可以用KEY_SW1來取代PORTA的RA0簡單又好記
程式也比較容易讀。

發表於: 2004/7/8 14:05
頂部


Re: 使用c18定義時#define常數的疑問及pragma romdata疑問
高級會員
高級會員


相同的型式 , #define可以用來定義巨集 , 動作和組語MACRO相似 , 都可算是插入式語法 , COMPILER看到相同的變數時 , 代入所定義的資料 .

發表於: 2004/7/8 10:35
頂部


Re: dsPIC30F6014的RS232傳送單一字元
新會員
新會員


其它的設定我能確定都ok,因為我可以從終端機傳送一字元出去後再從PIC端將此字元回傳至終端機。但就是在只想傳送單一字元時,都不能正常工作。

發表於: 2004/7/8 10:33
頂部


Re: 使用c18定義時#define常數的疑問及pragma romdata疑問
初級會員
初級會員


感謝版主的回答,那另外一問
#define a=10
#define b=2
#define c=a/b
直接定義來做運算式可以嗎?
c語言好像不行,我在c18講義有寫到可以直接運算,不知是否能
還是要另外寫副程式來做運算呢?

發表於: 2004/7/8 10:14
頂部


Re: 使用c18定義時#define常數的疑問及pragma romdata疑問
高級會員
高級會員


使用#define不是將變數定義成另一個變數或常數嗎?是不是應該這樣寫
#define abc 0b00001111
不過我自己都是這樣寫
#define abc B'00001111'

#pragma romdata //是告訴compiler以下的宣告是在程式記憶體中

const rom CONFIG1H = 0X0E ;
const 是指宣告的值是固定常數 , rom是指放在rom裡面
CONFIG1H的位址是在Header file裡就定義好的變數 ,
變數 = 0x0E ,當然就是0x0E放到CONFIG1H囉!






發表於: 2004/7/8 10:06
頂部



« 1 ... 7287 7288 7289 (7290) 7291 7292 7293 ... 7334 »



:::

Microchip連結

http://www.microchip.com.tw/modules/tadnews/index.php?nsn=18
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://edm.microchip.com.hk/webapp/opt-in/website/tc/form.htm
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/RTC/RTC_DVD/
[ more... ]

Microchip CAE 空中教室

教育訓練中心

課程 - 台北教育訓練中心
課程 - 新竹教育訓練中心
課程 - 高雄教育訓練中心
教育訓練中心介紹
購買 - 實驗工具
臺灣實驗板介紹與資源