2013年9月8日 星期日

孫小毛USB專題週記5

「我記得在研討會時原廠的工程師說Silicon Labs已經提供了一個很簡單的程式庫叫USBXpress」宜靜對正妹的興趣沒有很大,在原廠技術研討會很專心地聽,不過聽完還是要實際動手做才會發現問題「網頁上顯示4.0版之前的USBXpress不再維護了,那就下載USBXpress 4.0來吧」

「奇怪,怎麼沒有Visual C#如何控制USB的說明文件呢?」宜靜返覆地在原廠網站和抓下來的USBXpress中找如何Visual C# 2010 Express就是找不到「原廠的工程師說有支援Visual C#啊而且在研討會上說原廠的AN169有很詳細的說明,我怎麼都看不到什麼說明啊!?算了,自己去每個目錄慢慢找找看吧」

XXXXXX

API Functions

「終於找到了原來在SiUSBXp.cs裡,對照AN169裡的API functions列表一起來看就清楚多了,開始來連上電路板吧」宜靜一邊參考範例程式一邊測試小毛給她的開發板,出了一些問題要找小毛也找不到「呼,花了三天總算都試好了,內容到是沒有什麼困難,都是在處理USB和編譯器的問題.」

展開詳細過程請點選

曾宜靜USB開發筆記-初步使用Visual C# 2010 Express 控制USB
曾宜靜USB開發筆記-試圖載入格式錯誤的程式
曾宜靜USB開發筆記-裝置驅動程式軟體安裝不成功

XXXXXX

歡樂的時光總是過得很快, 一週一度的meeting時間又快到了

「宜靜,妳試的結果如何?」小毛神隱了一週,要meeting前又突然出現了

「你還敢說?你到底灌了什麼測試程式?我根本不能用,最後只好自己再灌新的程式進去」看得出來宜靜現在很火

「就IDE裡附的範例啊,我用他PC上的程式可以用啊」小毛一臉無辜的樣子

「那個不行啦,要灌USBXpress裡附的啦」宜靜平靜了些

「我們都才剛學而已,很多不懂的很正常的啦.進去找大咖教授囉」大頭看氣氛好一點就提醒大家不要遲到了

XXXXXX

「這週你們進展如何?決定成品的題目了嗎?」大咖教授先問大家的進度

「這週我們試著學習如何在PC上控制USB裝置,等一下也會將心得跟老師報告.實作的成品我們想要改裝一個玩具變成具有互動性的電子寵物」

「嗯,我的好奇心都被引發了,真希望能早點看到成果.」大咖教授看起來很滿意的樣子「如果沒有別的問題我們就到隔壁會議室看你們的報告吧」

XXXXXX

「老師助教還有各位伙伴大家好,」宜靜將他的USB隨身碟和大頭買的USB無線翻頁雷射筆接收器插入會議室的電腦後開始做簡報「這週我們大部份的時間都花在試著打通從PC到電路板的資料通路,比較沒有需要引證的資料程理論.我將會把我這週所體會的心得跟大家分享」

usb sw develop mind map

「依我們這組的慣例,一開始先請大家看一張心智圖」宜靜開始報告「這週我的心得就是不管在開發哪一種軟體,除了功能外最重要的一步就是把界面定清楚」

「跟人互動的應用程式當然就是要定好人機界面,提供服務給應用程式的驅動程式則要把應用程式界面(API)定義好供應用程式呼叫,韌體則是要把控制硬體的方式和接腳弄清楚」

api example

「我舉個Silicon Labs的例子,他們提供的USBXpress驅動程式就把每個method 或 function 的功能和傳入傳出變數的意義及型態詳列於文件當中,對開發應用程式的人來說只要按照這份文件來呼叫就好了,剩下的細節就可以乎略不管」宜靜換頁接著說

data flow

「還是以Silicon Labs的文件來說明,上面這個資料流模型中每個方框都是獨立的系統,方框跟方框間必是各自獨立的.大家只要專注在自己負則的方框裡就好了.這樣可以讓各層面的負責人員發揮最大的創意而不用一直重覆發明輪子」

「這是我今天要跟大家分享的心得, 其餘的時間大部份都是實作的細節, 我有記錄在我的開發筆記本裡, 有興趣可以跟我借去看今天就不耽誤大家時間了, 謝謝各位」宜靜很快地報告完

「關於不用重覆發明輪子所以不用了解別的層面的細節我有點不同的見解」大咖教授聽完後給了一些意見「專案通常會在比較受限的平台上執行,可以儘量整合現有的系統當然最好.但如果今天你是賣軟體的產品給一般的使用者去安裝並執行,如果對驅動程式掌握在別人手上使用者出了問題還是來找你客訴,這時如果能對驅動程式細節掌握較清楚就能儘快處理而不用轉給原廠處理了」

「做專題沒有什麼標準答案,前面只是我自己的看法大家可以互相交換一下心得」

「老師說的很有道理,我這禮拜花了很多時間在處理64位元作業系統的問題,我都寫在筆記本裡了.還好現在網路很發達很快就可以找出問題所在,不然原廠大概也沒什麼空來理我吧」宜靜回應大咖的想法

XXXXXX

「哇宜靜妳真的很強耶,文件不清楚都有辦法搞定」大頭也不忘讚提一下宜靜

「剛好有機會多學一些新的東西,覺得很新奇自然就會很想把問題都解決」宜靜回答

「小毛你的小狗撲滿呢?」宜靜問小毛

「我收到貨了,正在量電路和規畫如何改裝.宜靜我覺得好今天報告說做韌體要把硬體界面弄清楚很有道理哦」小毛說道

「那小毛,我把開發板先還給你去接撲滿」宜靜向大家分配接下來的工作「下週又輪到你報告了」宜靜跟大家分配下週的工作「我也再把整個專題的計畫定清楚」

「那今天謝謝大家的幫忙,大家就解散了」這次的meeting也在宜靜這句的話中畫下句點了

XXXXXX

小毛回去又要怎麼改裝撲滿呢?
未完待續
相關文章
孫小毛USB專題週記6
孫小毛USB專題週記4

沒有留言:

張貼留言