DS1307是一顆 REAL TIME CLOCK IC,內部有萬年曆的功能,腳位簡單,溝通操作是透過I2C界面,而且還有備援電池自動切換的功能,上面還有多餘的56BYTE可供外部MCU來使用。
幾個重點要注意:
一、DS1307 出廠後一定要初始化,把 ADDRESS 00h 的第7個BIT設成0 (CLOCK HALT)才會開始跑。
二、DS1307 上電後有一段時間延時,這段時間內MCU切勿發送I2C指令,否則可能造成誤寫入時間暫存器。***這邊也可能是I2C傳遞有誤造成的問題。
三、VDD要搭個電容會比較穩定。
四、VBAT沒用到的話要接地。
五、多餘的RAM可以拿來當成離線記憶體使用,正如同EEPROM一般。(VBAT有效的話)
六、時間的精度取決於外掛 OSC (32768HZ) 的精度,而且要接地良好,否則很容易被干擾。
2009年4月16日 星期四
2009年3月9日 星期一
Ruby 1.9.1 & Rails 2.3 on Debian 安裝筆記
安裝 ruby 1.9.1
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.gz
tar xvf ruby-1.9.1-p0.tar.gz
cd ruby-1.9.1-p0
./configure
失敗
C compiler cannot create executables
安裝 libc6-dev
apt-get install libc6-dev
重作-安裝 ruby
./configure
失敗
make: command not found
安裝 make
apt-get install make
重作-安裝 ruby
./configure
make
make insatll
ruby -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]
完成安裝 ruby
安裝 rake rack
gem install rake rack
失敗
/usr/local/lib/ruby/1.9.1/rubygems/package.rb:10:in `require': no such file to load -- zlib (LoadError)
安裝 zlib ruby adaptor
cd ruby-1.9.1-p0
cd ext
cd zlib
ruby extconf.rb
失敗
checking for deflateReset() in -lz... no
checking for deflateReset() in -llibz... no
checking for deflateReset() in -lzlib... no
*** extconf.rb failed ***
安裝 zlib1g-dev
apt-get install zlib1g-dev
重作-安裝 zlib ruby adaptor
ruby extconf.rb
make
make install
重作-安裝 rake rack
gem install rake rack
安裝 rails 2.3.1
gem install rails --source http://gems.rubyonrails.org
gem list
*** LOCAL GEMS ***
actionmailer (2.3.1)
actionpack (2.3.1)
activerecord (2.3.1)
activeresource (2.3.1)
activesupport (2.3.1)
rack (0.9.1)
rails (2.3.1)
rake (0.8.4)
完成安裝 rails
建新網站
rails blog -d mysql
cd blog
啟動
./script/server
失敗 /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.1/lib/initializer.rb:269:in `rescue in require_frameworks': no such file to load -- openssl (RuntimeError)
安裝 openssl ruby adaptor
cd ruby-1.9.1-p0
cd ext
cd openssl
ruby extconf.rb
失敗
=== OpenSSL for Ruby configurator ===
=== Checking for system dependent stuff... ===
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for assert.h... yes
=== Checking for required stuff... ===
checking for openssl/ssl.h... no
=== Checking for required stuff failed. ===
Makefile wasn't created. Fix the errors above.
安裝 libssl-dev
apt-get install libssl-dev
重作-安裝 openssl ruby adaptor
ruby extconf.rb
make
make install
重新啟動網站
./script/server
網頁ok
http://localhost:30000/
About your aplication's environment
WEBrick/1.3.1 (Ruby/1.9.1/2009-01-30) at localhost:3000
console 顯示
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. /!\ FAILSAFE /!\ 2009-03-09 10:27:58 -0700 Status: 500 Internal Server Error no such file to load -- mysql
安裝 mysql ruby adaptor
wget http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.8.1.tar.gz
tar xvf mysql-ruby-2.8.1.tar.gz
cd mysql-ruby-2.8.1
ruby extconf.rb
失敗 checking for mysql_query() in -lmysqlclient... no *** extconf.rb failed ***
安裝 libmysql++-dev
apt-get install libmysql++-dev
重新安裝 mysql ruby adaptor
ruby extconf.rb
make
make install
重新啟動網站
./script/server
Status: 500 Internal Server Error Access denied for user 'root'@'localhost' (using password: NO)
ok~正常,這是 database.yml 沒設定的關係
改好後重啟網站
./script/server

完工^^;
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.gz
tar xvf ruby-1.9.1-p0.tar.gz
cd ruby-1.9.1-p0
./configure
失敗
C compiler cannot create executables
安裝 libc6-dev
apt-get install libc6-dev
重作-安裝 ruby
./configure
失敗
make: command not found
安裝 make
apt-get install make
重作-安裝 ruby
./configure
make
make insatll
ruby -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]
完成安裝 ruby
安裝 rake rack
gem install rake rack
失敗
/usr/local/lib/ruby/1.9.1/rubygems/package.rb:10:in `require': no such file to load -- zlib (LoadError)
安裝 zlib ruby adaptor
cd ruby-1.9.1-p0
cd ext
cd zlib
ruby extconf.rb
失敗
checking for deflateReset() in -lz... no
checking for deflateReset() in -llibz... no
checking for deflateReset() in -lzlib... no
*** extconf.rb failed ***
安裝 zlib1g-dev
apt-get install zlib1g-dev
重作-安裝 zlib ruby adaptor
ruby extconf.rb
make
make install
重作-安裝 rake rack
gem install rake rack
安裝 rails 2.3.1
gem install rails --source http://gems.rubyonrails.org
gem list
*** LOCAL GEMS ***
actionmailer (2.3.1)
actionpack (2.3.1)
activerecord (2.3.1)
activeresource (2.3.1)
activesupport (2.3.1)
rack (0.9.1)
rails (2.3.1)
rake (0.8.4)
完成安裝 rails
建新網站
rails blog -d mysql
cd blog
啟動
./script/server
失敗 /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.1/lib/initializer.rb:269:in `rescue in require_frameworks': no such file to load -- openssl (RuntimeError)
安裝 openssl ruby adaptor
cd ruby-1.9.1-p0
cd ext
cd openssl
ruby extconf.rb
失敗
=== OpenSSL for Ruby configurator ===
=== Checking for system dependent stuff... ===
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for assert.h... yes
=== Checking for required stuff... ===
checking for openssl/ssl.h... no
=== Checking for required stuff failed. ===
Makefile wasn't created. Fix the errors above.
安裝 libssl-dev
apt-get install libssl-dev
重作-安裝 openssl ruby adaptor
ruby extconf.rb
make
make install
重新啟動網站
./script/server
網頁ok
http://localhost:30000/
About your aplication's environment
Internal Server Error undefined method `each' for #
console 顯示
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. /!\ FAILSAFE /!\ 2009-03-09 10:27:58 -0700 Status: 500 Internal Server Error no such file to load -- mysql
安裝 mysql ruby adaptor
wget http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.8.1.tar.gz
tar xvf mysql-ruby-2.8.1.tar.gz
cd mysql-ruby-2.8.1
ruby extconf.rb
失敗 checking for mysql_query() in -lmysqlclient... no *** extconf.rb failed ***
安裝 libmysql++-dev
apt-get install libmysql++-dev
重新安裝 mysql ruby adaptor
ruby extconf.rb
make
make install
重新啟動網站
./script/server
Status: 500 Internal Server Error Access denied for user 'root'@'localhost' (using password: NO)
ok~正常,這是 database.yml 沒設定的關係
改好後重啟網站
./script/server
完工^^;
2009年3月4日 星期三
MCU在ICE上開發與實際CHIP的差異
很多狀況會導致ICE開發時的結果正確,但是燒錄出來的實體CHIP卻有不同的結果…
底下記錄實際發生過的經驗:
一、使用內RC開發計時功能,燒錄出來卻發生時差誤差很大:
大部份的MCU都己經有提供內RC的功能,但若ICE設計的有問題,或開發時的環境不同,年久失準…等等問題,就會有ICE內頻不準的狀況,而實際CHIP由於是相對比較量產的東西,所以實際的CHIP反而是應該要比較準確。
系統開發的時間若是忽略這個問題,反而自作聰明的加入校正值的話,就會導致這個問題。
二、ICE由於可以模擬多種型號的CHIP,因此在設計時必定使用了比較大的RAM容量來當作CODE及MEMORY的記憶體,若是編譯器不良無法針對不同型號作檢查,那就有可能出現STACK OV的問題而在ICE模擬時卻不自知。一般都會正確檢查CODE的大小是否超過ROM的大小,但不一定都會檢查RAM的問題。
三、同樣上述的原因,不同的CHIP可能會對不同的指令集有不同程度的支援,若是編譯器無法適時檢查出這種錯誤,也會讓你DEBUG沒完沒了。
四、AD轉換模組需要使用參考電壓,有的是外部參考電壓,但也有用內部參考電壓的,這時就要考量ICE的電壓要怎麼能跟實際主板電壓一樣,或怎加入校正程序。
底下記錄實際發生過的經驗:
一、使用內RC開發計時功能,燒錄出來卻發生時差誤差很大:
大部份的MCU都己經有提供內RC的功能,但若ICE設計的有問題,或開發時的環境不同,年久失準…等等問題,就會有ICE內頻不準的狀況,而實際CHIP由於是相對比較量產的東西,所以實際的CHIP反而是應該要比較準確。
系統開發的時間若是忽略這個問題,反而自作聰明的加入校正值的話,就會導致這個問題。
二、ICE由於可以模擬多種型號的CHIP,因此在設計時必定使用了比較大的RAM容量來當作CODE及MEMORY的記憶體,若是編譯器不良無法針對不同型號作檢查,那就有可能出現STACK OV的問題而在ICE模擬時卻不自知。一般都會正確檢查CODE的大小是否超過ROM的大小,但不一定都會檢查RAM的問題。
三、同樣上述的原因,不同的CHIP可能會對不同的指令集有不同程度的支援,若是編譯器無法適時檢查出這種錯誤,也會讓你DEBUG沒完沒了。
四、AD轉換模組需要使用參考電壓,有的是外部參考電壓,但也有用內部參考電壓的,這時就要考量ICE的電壓要怎麼能跟實際主板電壓一樣,或怎加入校正程序。
2009年3月3日 星期二
GMAIL建立標籤及篩選器的方法
GMAIL的標籤及篩選器搭配使用的方法…
一、點「設定」

二、點選標籤,建立一個新的標籤

三、點選篩選器,建立新的篩選器

四、在過瀘項目上填寫上條件
例如:
「mary」、「peter@yahoo.com.tw」、「小明」…
亦可使用萬用字元「*」及「|」(或)來連結多個條件,例如:
「mary|peter|*@mycompany.com」
填好條件可以先按下「測試搜尋」來測試一下對不對,再進行下一步。

五、最後指定符合這個篩選條件的郵件要作何處理,這邊是幫它加上之前建好的標籤,記得勾選「同時套用到…」把以前的郵件也套用上這個篩選器,如此一來你的郵件就可以自動分好類了,。

六、你還可以把不同的標籤設定成不同的顏色。
一、點「設定」

二、點選標籤,建立一個新的標籤

三、點選篩選器,建立新的篩選器

四、在過瀘項目上填寫上條件
例如:
「mary」、「peter@yahoo.com.tw」、「小明」…
亦可使用萬用字元「*」及「|」(或)來連結多個條件,例如:
「mary|peter|*@mycompany.com」
填好條件可以先按下「測試搜尋」來測試一下對不對,再進行下一步。

五、最後指定符合這個篩選條件的郵件要作何處理,這邊是幫它加上之前建好的標籤,記得勾選「同時套用到…」把以前的郵件也套用上這個篩選器,如此一來你的郵件就可以自動分好類了,。

六、你還可以把不同的標籤設定成不同的顏色。
GMAIL如何發信給一個群組
2009年3月1日 星期日
JAVA SCRIPT 判斷只能輸入中文的程式碼
function isChinese(temp)
{
var re = /[^\u4e00-\u9fa5]/;
if(re.test(temp)) return false;
return true;
}
2009年2月27日 星期五
RoR試開筆記(五)
透過 generator 自動建立出的網頁框架固然很快速,但初學者可能會很難理解整個框架的運作流程。
new 跟 edit 可以使用同一個 form 的樣式,但 rail 要如何得知要產生不同的 form action ?
追一下連結跟control…
new--->create
會連到 post control 的 new
才把 html 顯示出來
edit--->update
會連到 post control 的 edit
才把 html 顯示出來
一個是新增的,一個是從資料庫找出來的,因此能判定要用哪種 form action,但是這部份可以去微調嗎? 需要再研究。
new 跟 edit 可以使用同一個 form 的樣式,但 rail 要如何得知要產生不同的 form action ?
追一下連結跟control…
new--->create
<%= link_to 'New post', new_post_path %>會連到 post control 的 new
@post = Post.new才把 html 顯示出來
edit--->update
<%= link_to 'Edit', edit_post_path(post) %>會連到 post control 的 edit
@post = Post.find(params[:id])才把 html 顯示出來
一個是新增的,一個是從資料庫找出來的,因此能判定要用哪種 form action,但是這部份可以去微調嗎? 需要再研究。
2009年2月26日 星期四
RoR試開筆記(四)
ruby script\generate scaffold Post name:string title:string content:text使用 scaffold 自動 generate 出一個名為 Post 的 model、controler、viewer,包含了一些基本的操作。
rake db:migrate把剛剛自動生成的 model (想像成 table) 資料表作更新。
修改 \blog\app\views\home\index.html.erb
加入這個 post controler 的連結
<%= link_to "My Blog", posts_path %>如此就可以到 http://127.0.0.1:3000/posts 進入 post controler 了
或到透過 home 首頁的 post 連結進入。
RoR試開筆記(三)
config/routes.rb
編輯「文件路由檔」
適當位置加入這行…
map.root :controller => "home"
刪除預設的首頁
\blog\public\index.html
如此 http://127.0.0.1:3000/ 就會指到 home controler (預設viewer:index.html.erb)
編輯「文件路由檔」
適當位置加入這行…
map.root :controller => "home"
刪除預設的首頁
\blog\public\index.html
如此 http://127.0.0.1:3000/ 就會指到 home controler (預設viewer:index.html.erb)
2009年2月25日 星期三
RoR試開筆記(二)
rails blog -d mysql
建立一個名為 blog 的網站app,使用 mysql
cd blog
進去 gen 好的網站
config/database.yml
編輯資料庫設定
rake db:create
自動建立資料庫
ruby script/generate controller home index
建立一個包含 viewer:index 的 controller:home
ruby script/server
啟動 server
http://localhost:3000/home/index
網頁
參考:http://guides.rubyonrails.org/getting_started_with_rails.html
建立一個名為 blog 的網站app,使用 mysql
cd blog
進去 gen 好的網站
config/database.yml
編輯資料庫設定
rake db:create
自動建立資料庫
ruby script/generate controller home index
建立一個包含 viewer:index 的 controller:home
ruby script/server
啟動 server
http://localhost:3000/home/index
網頁
參考:http://guides.rubyonrails.org/getting_started_with_rails.html
2009年2月23日 星期一
RoR試開筆記(一)
Windows 下安裝 ROR
到…
http://rubyinstaller.rubyforge.org/
下載…
rubyinstaller ruby186-27_rc2.exe
安裝
套件管理程式 gem 要勾選隨同安裝
裝好後下指令安裝 mysql adaptor,才能用 mysql 作為資料庫…
gem install mysql [--no-ri --no-rdoc]
裝好後下指令…
gem install rails [--no-ri --no-rdoc]
開新專案(使用mysql,需先另外安裝好)…
rails HelloWorld -d myaql
啟動 server…
cd HelloWorld
ruby script\server
*要使用 mysql 也要將 libmysql.dll 拷貝到 ruby/bin 目錄下,才不會有錯誤訊息出現。
*mysql需支援 InnoDB,要修改 my.ini 重啟 MYSQL
到…
http://rubyinstaller.rubyforge.org/
下載…
rubyinstaller ruby186-27_rc2.exe
安裝
套件管理程式 gem 要勾選隨同安裝
裝好後下指令安裝 mysql adaptor,才能用 mysql 作為資料庫…
gem install mysql [--no-ri --no-rdoc]
裝好後下指令…
gem install rails [--no-ri --no-rdoc]
開新專案(使用mysql,需先另外安裝好)…
rails HelloWorld -d myaql
啟動 server…
cd HelloWorld
ruby script\server
*要使用 mysql 也要將 libmysql.dll 拷貝到 ruby/bin 目錄下,才不會有錯誤訊息出現。
*mysql需支援 InnoDB,要修改 my.ini 重啟 MYSQL
2009年1月5日 星期一
FPPA實驗平台教學教材
由於ASSEMBLA即將開始收費,因此要把所有的SVN進行大搬家,連帶的一些教學文件也跟著搬家了,看來還是GOOGLE的窩最舒適(重點是免費)
FPPA實驗平台教學教材-使用C語言
FPPA實驗平台簡介
實驗(一) 8位元LED輸出單元 與 模組設計總論
實驗(二) 按鍵開關輸入單元 與 控制模組的設計
實驗(三) 飛梭編碼(帶開關)輸入單元
實驗(四) 6位數7字節顯示單元
實驗(五) RGB LED控制單元
實驗(六) LCM 模組控制
FPPA實驗平台教學教材-使用C語言
FPPA實驗平台簡介
實驗(一) 8位元LED輸出單元 與 模組設計總論
實驗(二) 按鍵開關輸入單元 與 控制模組的設計
實驗(三) 飛梭編碼(帶開關)輸入單元
實驗(四) 6位數7字節顯示單元
實驗(五) RGB LED控制單元
實驗(六) LCM 模組控制
2008年9月15日 星期一
Windows 抓圖 API
相關函式…
HWND findChild = FindWindow( NULL, "視窗標題" );
HWND dc = ::GetWindowDC( findChild );
使用這個 DC HANDLE 來作圖形的拷貝動作
但是由於 windows 有外框、標題列等問題,所以實際抓圖的位要作細部的調整
使用 GetSystemMetrics WIN API,例如…
int nCaptionY = ::GetSystemMetrics(SM_CYCAPTION); //dialog的標題列
int nBorderX = ::GetSystemMetrics(SM_CXEDGE)+1; //BORDERX
int nBorderY = ::GetSystemMetrics(SM_CYEDGE)+1; //BORDERY
才可以準確得知,CLIENT 畫布的位置。
2008年9月9日 星期二
Samba Server 新增使用者
adduser id
smbpasswd -a id若有 libssl.so.2 找不到 可找找底下替代 lib
ln -s /usr/lib/libssl.so.0.9.6 /usr/lib/libssl.so.2
ln -s /usr/lib/libcrypto.so.0.9.6 /usr/lib/libcrypto.so.2
2008年9月8日 星期一
POSTFIX 增加郵件群組的功能
nano /etc/postfix/main.cf
===================================
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
===================================
===================================
nano aliases
===================================
maillist: aaa, bbb, ccc, ddd, eee
===================================
===================================
maillist: aaa, bbb, ccc, ddd, eee
===================================
postalias /etc/aliases
postfix reload <== 如果 main.cf 有改到的話則需要重啟
postfix reload <== 如果 main.cf 有改到的話則需要重啟
使用VBS修改電腦IP、DNS、電腦名稱、工作群組
strComputer="."
strmask="255.255.255.128"
dim ipv,gateway,lan,pcname
gateway="220.229.105.129"
ipv="220.229.105.123"
pcname="pc123"
Set objWMIService=GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters=objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress=Array(ipv)
strSubnetMask=Array(strmask)
strGateway = Array(gateway) '修改預設閘道
strDNS=Array("61.56.211.185","211.78.130.2","168.95.1.1") '// 三組 DNS
For Each objNetAdapter in colNetAdapters
errEnable=objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)'ip,子網路遮罩
errGateways = objNetAdapter.SetGateways(strGateway) '預設閘道
errDns=objNetAdapter.SetDNSServerSearchOrder(strDNS)'dns
Next
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
err = ObjComputer.Rename( pcname )'機器名稱
ReturnValue = objComputer.JoinDomainOrWorkGroup("WORKGROUP")'工作群組
Next
2008年8月21日 星期四
MYSQL 支援 Transation
一、資料庫引擎要改成 InnoDB。
二、流程…
mysql_query('BEGIN TRANSACTION_NAME');
mysql_query('SELECT * FROM whatever...')
mysql_query('UPDATE blah blah...')
if(check for errors) {
mysql_query('ROLLBACK');
} else {
mysql_query('COMMIT');
}
二、流程…
mysql_query('BEGIN TRANSACTION_NAME');
mysql_query('SELECT * FROM whatever...')
mysql_query('UPDATE blah blah...')
if(check for errors) {
mysql_query('ROLLBACK');
} else {
mysql_query('COMMIT');
}
2008年8月13日 星期三
專案列表
找個時間把開發過的案子程式要點記下來…
FPPA專案:
BatteryCharge-充電裝置自動充放電控制
BLDC-直流無刷馬達AD調速控制
FanControl-超微風風扇控制含定時、IR
GenFreq-方波頻率偵測即時計算
LightFailAlert-汽車燈號故障警示器、RF
PWM-RGB-Bar-三色PWM燈飾
PWM燈控-LED燈亮度調節控制
MP3Rider-MP3模組撥放音樂
RGBLight-RGB LED燈控制
RGBW-LED-四色LED燈控制
SPWM吊扇-無段風扇控制
VolControl-飛梭旋鈕訊號控制音量
三合一車燈-三合一車燈
立式16吋溫控無段風扇-無段溫控風扇控制
風扇節能調速器-風扇控制器
腳踏車警示燈-LED燈控制器
檯燈燈控-LED亮度控制器
雙頭風扇-風扇控制器
雞尾酒機-刨冰、擾拌定時控制器
TimerDevice-通用定時器
PIC專案:
sosLight-三合一車燈
FreqGen-頻率產生器
LedBar-LED燈控制器
PowerControl-電源輸出控制器
RFLightControl-RF號控制裝置
spwm-SPWM風扇PIC版
TimerDevice-通用定時器PIC版
ELAN專案:
PWMLED-RGB LED燈控制
TimerDevice-通用定時器ELAN版
FPPA專案:
BatteryCharge-充電裝置自動充放電控制
BLDC-直流無刷馬達AD調速控制
FanControl-超微風風扇控制含定時、IR
GenFreq-方波頻率偵測即時計算
LightFailAlert-汽車燈號故障警示器、RF
PWM-RGB-Bar-三色PWM燈飾
PWM燈控-LED燈亮度調節控制
MP3Rider-MP3模組撥放音樂
RGBLight-RGB LED燈控制
RGBW-LED-四色LED燈控制
SPWM吊扇-無段風扇控制
VolControl-飛梭旋鈕訊號控制音量
三合一車燈-三合一車燈
立式16吋溫控無段風扇-無段溫控風扇控制
風扇節能調速器-風扇控制器
腳踏車警示燈-LED燈控制器
檯燈燈控-LED亮度控制器
雙頭風扇-風扇控制器
雞尾酒機-刨冰、擾拌定時控制器
TimerDevice-通用定時器
PIC專案:
sosLight-三合一車燈
FreqGen-頻率產生器
LedBar-LED燈控制器
PowerControl-電源輸出控制器
RFLightControl-RF號控制裝置
spwm-SPWM風扇PIC版
TimerDevice-通用定時器PIC版
ELAN專案:
PWMLED-RGB LED燈控制
TimerDevice-通用定時器ELAN版
2008年6月16日 星期一
訂閱:
文章 (Atom)






