2012年12月7日 星期五

TI sample

之前看了naga大大的blog,就跟著他申請sample


可惜,他的那幾個我還滿想申請的,但我申請的時後,已經被申請完了,太可惜了


不過我也申請了一個馬達driver。


話說TI還真是大方,這些都是免費,超贊的啦!


不過因為都只有IC,我又要頭痛了。


對了,還有附上DATASHEETㄟ,超酷的。


 



STM32F3 dicovery 實驗板



最近買了一個不錯玩的玩具stm32f3, 這塊開發板包含ICE/3軸陀螺儀/3軸加速規/3軸電子指北針


超便宜的。 才幾百元,有興趣的人可以在這裡購買。


後來發現這顆MCU也是新的,所以要灌新的KEIL才有辦法compiler。 目前我就灌4.6就可以執行了。


有興趣的可以自己下載資料來看:


原廠support: http://www.st.com/internet/evalboard/product/254044.jsp


ST-LINK driver: http://www.st.com/internet/evalboard/product/251168.jsp


 



2012年8月15日 星期三

OBJ 陣列 for VC++

之前寫VC++ 都會用很笨的方式在寫, 最近發現,原來是可以用成陣列的方式在寫,


這樣的程式就可以省很多空間了


 


假設我有3個textBox 的OBJ, 那以寫的方式會用


textBox1->Text = "123";


textBox2->Text = "123";


textBox3->Text = "123";


 


如果OBJ多了一點,這樣就只好用EXCEL 來幫助寫程式了。


 


其實,還有更好的方式,用OBJ的ARRAY來寫:


以下是個範例:


 


先宣告一個GLOBAL 變數


           public ref class Form1 : public System::Windows::Forms::Form


           {


           public:


                     static array <System::Windows::Forms::TextBox^>  ^TextBoxArray = gcnew array <System::Windows::Forms::TextBox^>(10);


                     Form1(void)


                     {


                                InitializeComponent();


                                //


                                //TODO: Add the constructor code here


                                //


                     }


           }


 


接著在LOAD FORM時,載入物件


           private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {


                                           int i;          


                                           TextBoxArray [0] = textBox3;


                                           TextBoxArray [1] = textBox4;


                                           TextBoxArray [2] = textBox5;


 


                                           for (i =0; i<3; i++)


                                           {


                                                     TextBoxArray [i]->Text = "ABC";


                                           }


                                }



最後做一個BUTTON來做測試其他功能


           private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {


                                           int i; 


                                           TextBoxArray [0] = textBox3;


                                           TextBoxArray [1] = textBox4;


                                           TextBoxArray [2] = textBox5;


 


                                           for (i =0; i<3; i++)


                                           {


                                                     TextBoxArray [i]->Text = "kkk";


                                           }


                                }






好棒,這樣程式碼就可以乾淨許多

2012年8月14日 星期二

USB TO I2C/SMB 治具

弄了好一陣子了,終於把usb 轉i2c/smb的 治具給弄好了。


這樣搞一搞大概學會了一些東西


USB HID interface


STM2 USB/I2C interface


VC++ Windows form


這陣子的辛苦,值得了。


 


這樣下次還有需要做什麼治具,就會非常快速&方便了。


不過我下次要再寫AP的話,我應該會選擇C#了吧, VC++ 真的是太麻煩了。


 







2012年7月20日 星期五

Hex2Dec

因為VC++沒有支援Hex2Dec,所以只好自己寫了


因為對VC++不熟,外加搞不清楚狀況,所以寫了好久


不過也因為如此,學會如何簡單的寫VC++了


  int Hex2Dec( System::Windows::Forms::TextBox^ textBox)
  {
    int Val = 0;
    int Sum = 0;
    int Count = 0;
    if (textBox->TextLength <= 2)
    {
      String^ str = textBox->Text;
      do
      {
           Sum *= 16;
        if ( str[Count]>='0' &&  str[Count]<='9' )
        {
         Val = Convert::ToInt32( str[Count] ) - '0';
        }
        else if ( str[Count]>='A' &&  str[Count]<='F' )
        {
         Val = Convert::ToInt32( str[Count] ) - 'A' + 10;
        }
        else if ( str[Count]>='a' &&  str[Count]<='f' )
        {
         Val = Convert::ToInt32( str[Count] ) - 'a' + 10;
        }
        else
        {
          // failed!!!
        }
        Count++;
        Sum += Val;
      }while( textBox->TextLength - Count );
      //textBox2->Text =Sum.ToString();
    }
    else
    {
     // format error!!!
    }
    return Sum;


  }


 


使用方式


textBox2->Text =Hex2Dec( textBox1 ).ToString();


終於搞定入門款了


 


2012年7月19日 星期四

USB/I2C console

終於要發時間做治具了。


ㄎㄎ


大製上的架構拉好了。


可以開始寫c++的程式了。


接著再弄stm32。


gogogo~


 




2012年7月2日 星期一

STM32 L1 serials

最近在找資料的時後,發現stm32 出了一款ultra low power 的系列。


看起來超級省電的,假設使用core 1.2V, 跑最高速4Mhz, 這樣只需要1.2mA.


太厲害了。


有興趣可以看一下datasheet






2012年6月30日 星期六

leaf maple

之前就有聽過Arduino這個IDE 環境了,但覺得好像他有點像以前的VB。


不過好像是操作簡單,有愈來愈多人在玩的趨勢。


最近看到了一個用STM32 相容於Arduino的實驗板,有點心動想敗回家玩一下。


有興趣的可以買回家,滿便宜的,才900NTD


呵呵~ 不過還是忍耐一下,我有好多事還沒有搞定的。


先搞定再說^^"


2012年6月23日 星期六

HID通訊

終於把USB HID 給搞定了。


感謝這篇文章,讓我終於知道出了什麼包,我找了快一天了Orz


原來是我的reset setting沒有設定好。我還以為是我的描述元弄錯了。


 


初始化劃面:



確認USB HID DEVICE:



接收到正確資料。



可以從USB ANALYZER得知,資料有進「IN」有出「OUT」。



 


太棒了!


 


下一步, 製作自己的小玩具。  


 


2012年6月22日 星期五

HID DESCRIPT

第一次修改HID 描述元。 終於有點眉目了 參這裡的說明。 http://www.microchip.com/forums/m558929-print.aspx


      0x06, 0x00, 0xFF,       // Usage Page = 0xFF00 (Vendor Defined Page 1)
      0x09, 0x01,             // Usage (Vendor Usage 1)
      0xA1, 0x01,             // Collection (Application)
      0x19, 0x01,             //      Usage Minimum
      0x29, 0x40,             //      Usage Maximum   //64 input usages total (0x01 to 0x40)
      0x15, 0x01,             //      Logical Minimum (data bytes in the report may have minimum value = 0x00)
      0x26, 0xFF, 0x00,       //      Logical Maximum (data bytes in the report may have maximum value = 0x00FF = unsigned 255)
      0x75, 0x08,             //      Report Size: 8-bit field size
      0x95, 0x40,             //      Report Count: Make sixty-four 8-bit fields (the next time the parser hits an "Input", "Output", or "Feature" item)
      0x81, 0x00,             //      Input (Data, Array, Abs): Instantiates input packet fields based on the above report size, count, logical min/max, and usage.
      0x19, 0x01,             //      Usage Minimum
      0x29, 0x40,             //      Usage Maximum   //64 output usages total (0x01 to 0x40)
      0x91, 0x00,             //      Output (Data, Array, Abs): Instantiates output packet fields.  Uses same report size and count as "Input" fields, since nothing new/different was specified to the parser since the "Input" item.
      0xC0                    // End Collection


因為在家沒有C++,下次再來測試GUI 是否可以正常讀到資料。 接著就可以做自己的「小玩具」了。 ^^"


2012年6月20日 星期三

stm32 研討會

http://www.digitimes.com.tw/seminar/ST_20120710/index.htm

有興趣的人可以報名參加。^^"

2012年6月16日 星期六

2012電腦鼠比賽

2012電腦鼠競賽又要開始了,
有興趣可以到http://robot.lhu.edu.tw/index.php 參觀, 這次好像有幾家挺有趣的贊助廠商的加入。另外還有額外提供獎金的,真的是愈來愈大方了。
不過也希望現在的學生多多努力^^"

2012年4月21日 星期六

STM32F4

最近學弟貼了挺超值的開發板給我看


http://goods.ruten.com.tw/item/show?11090615681277

 


http://goods.ruten.com.tw/item/show?21106255703147


 


坦白說, 一塊開發板除了應該有的MCU 還有 ICE, 另外還送你幾顆熱門的Device, 實在是超級超值的。


 


如果有興趣想學習的話,真的可以認真考慮敗回家研究一下。