會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





請教版主
新會員
註冊日期:
2006/07/07 00:00
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 0 / 49
MP : 6 / 1750
離線
在AN1017的範例程式(svm)中在計算時間時(t1,t2)右移6和右移15是什麼意思呀?

t1=sinetable[(unsigned char)(angle1>>6)]


t1=((long)t1*(long)volts)>>15;
t1=((long)t1*(long)tpwm)>>15;

2006/09/21 10:43
轉換PDF檔 列印


Re: 請教版主
新會員
註冊日期:
2016/08/30 10:49
所屬群組:
註冊會員
文章: 5
等級: 1; EXP: 34
HP : 0 / 8
MP : 1 / 49
離線
右移6位就是除以64的意思,因為範例程式在定義360度的時候是以65536來定義,但是在SVM建立sin值的時候是將360度切割為1024個點,每個點約0.3508度,所以這中間會有一個1/64的比例存在。

至於右移15位,這我也還在研究,不確定是否因為Vdc的大小為32767的關係。

2016/09/08 16:57
轉換PDF檔 列印


Re: 請教版主
資深會員
註冊日期:
2007/06/05 21:45
所屬群組:
註冊會員
文章: 993
等級: 27; EXP: 91
HP : 0 / 672
MP : 331 / 22029
離線
>> 右移

右移 跟 除法 取整數同意...

以十進位而言
52314 右移1位 05231 相當於 除以10 (除以10的1次方)
(最右邊4被移出,最前面補零)
52314 右移2位 00523 相當於 除以100 (除以10的2次方)
...
52314 右移4位 00005 相當於 除以10000 (除以10的4次方)
52314 右移5位 00000 相當於 除以100000 (除以10的5次方)

換成2進位
ABC...XYZ 右移1位 0ABC...XY 相當於 除以2 (除以2的1次方)
ABC...XYZ 右移2位 00ABC...X 相當於 除以4 (除以2的2次方)
...
ABC...XYZ 右移N位 000000... 相當於 除以2^N (除以2的N次方)

所以 右移6和右移15
就是相當 除以 2^6(=64)和2^15(=32768)

2016/09/08 23:21
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project