Re: 請問有人成功修改tcpip stack嵌入式網頁內容嗎
|
||||
---|---|---|---|---|
資深會員
|
source code裡,您可以看一下tcp/ip stack裡的幾個函式:
static BOOL SendFile(HTTP_INFO* ph) WORD HTTPGetVar(BYTE var, WORD ref, BYTE* val) 然後在MainDemo.c裡有幾個#define VAR_XXXX 您可以將這些define對照cgi file,就可以知道%x代表的是什麼東西了。 比如說我要取得LED0的狀態就要在cgi file裡寫%00 因為MainDemo.c裡有一行定義是這樣的: #define VAR_LED 0x00 之所以要寫%00是因為tci/ip source code將%當成是跳脫字元了,當程式在讀取cgi file遇到%時,它會知道接下來的兩個 字元是"變數的索引",用兩個字元來表示1byte的16進位值,例如0x01 -> %01 等您弄熟了以後,您也可以改用您自己的一套cgi file,我現在已經可以將cgi file 和html file都直接放在sd card裡,然後透過 瀏覽器來開了,這樣子file就不用轉成bin檔燒在小小的program mem裡了。 把MCU當成Web Server的感覺 只能用『爽』形容…
發表於: 2007/5/22 9:12
|
|||
我相信解決問題的方法不只一種,所以我在回答同好的問題時或者提出與主題不同的方案,
請不要以此做為攻擊的目標,畢竟我也只是想和大家討論如何解決問題而已… 解決問題最重要,..... |
||||
|
Re: C18寫超大陣列問題
|
||||
---|---|---|---|---|
資深會員
|
請問一下您的這個.h file有幾個c file include 它?我看它的錯誤訊息是說重複宣告了相同名字的變數。而且就您的.h file來看…如果同時有兩個以上的c file include這個.h file的話,那就會出問題的。您應該將段程式碼寫在.c file上比較合理哦。
發表於: 2007/1/21 22:28
|
|||
|
Re: IO切換
|
||||
---|---|---|---|---|
資深會員
|
你可以看一下datasheet有關RMW相關的問題,因為LED的導通電壓大約只有0.7V左右,所以當你從OUTPUT變成INTPUT後,那支腳位也只是反應當時的電壓而已。也是說0.7V,PIC應該會把它當成是旌邏輯0,你可以在LED上串個電阻試試看,這時再從該腳位讀進來的值應該就是邏輯1了。
發表於: 2006/11/13 22:37
|
|||
|
Re: 請問有關"bootload"..Build
|
||||
---|---|---|---|---|
資深會員
|
不知道您使用的單晶片是不是有內建的EEPROM?如果有的話可以規畫一個BYTE的空間來做判斷。
在開機時先進到BOOTLOAD再由BOOTLOAD判斷該EEPROM位址的值是多少再決定是要執行BOOTLOAD還是使用者模式
發表於: 2006/2/28 17:20
|
|||
|
Re: 請問有關"bootloader"....燒錄軟體的問題..
|
||||
---|---|---|---|---|
資深會員
|
如果您要的是關於usb方面的api的話…那在
C:\MCHPFSUSB\Pc\Mpusbapi\Dll\Borland_C的資料匣裡的source就是了哦,您可以利用裡面的dll再重新寫一個應用程式介面就可以了哦…除了api比較難之外,使用者介面應該蠻容易的吧…
發表於: 2006/2/28 16:42
|
|||
|
Re: 如何接收一長串UART的資料
|
||||
---|---|---|---|---|
資深會員
|
假如您是用中斷的方式做uart的接收的話最簡單的寫法:
unsigned char receive_buff[buff_size];//buff_size要多大就看您了 int buff_point = 0; unsigned receive_flag = 0; void interrupt uart_isr(void) { if (RCIF) { receive_buff[buff_point++] = RCREG; if(buff_point >= buff_size) { receive_flag = 1;//表示已經接收到設定的資料了,該在main()函式被做處理了 buff_point= 0; } RCIF = 0; } }
發表於: 2006/2/28 16:12
|
|||
|
Re: 請問關於HI TECH C腳位定義問題
|
||||
---|---|---|---|---|
資深會員
|
PortB.0 = 1;// 這應該是C18的定義格式
RB0 = 1;//這是HI-TECH定義的格式 建議您看一下兩個compiler的include file應該會有幫助
發表於: 2006/2/28 16:00
|
|||
|
Re: 請問一個PIC18F452的問題
|
||||
---|---|---|---|---|
資深會員
|
以pc端來看,電腦是不管接收端的裝置是PIC單晶片或是其它電器的,甚至都不接東西您的資料依然可以送出去(只是沒有裝置會接收而已),您在VB方面的程式只要將資料經由UART送出去,再來就是要靠PIC接收端自行判斷(中斷或輪詢)是否有資料被接收,再根據資料做適當的處理。基本上只要兩端的設定值一樣就應該可以接收到資料。但是不管是哪一方都得自己去判斷(中斷或輪詢)是否有資料存在BUFF中,並不是由電腦去呼叫PIC接收資料的(除非您把COM PORT的九條線都用到才能做到硬体流量控制)
至於PIC18的暫存器…還是自己去看一下MICROCHIP網站上的DATA SHEET會比較好一點^^"
發表於: 2006/2/28 15:47
|
|||
|