2020年10月25日 星期日

PL2303HXA 三用電表量測後發現是芯片內部5V轉3.3V失敗 導致讀不到COM PORT(已解決)

 



量測到這部分發現實際電壓輸出只有1V多,內部變壓失效,所以改攻3V3OUT這個(輸出PIN腳)

為何標示其為紅色?因為重點就在這一般我們都會當成他沒辦法做輸入,但測試強制輸入電壓進去是沒問題的。

以下為更改的步驟:

1.首先弄清楚IC的VCC腳位在20腳,3.3V腳位在17腳,為什麼先提及這兩隻腳?首先要把這兩隻腳解焊,20和17的腳位可以拉空或是剪掉。

2.再來另外做出3.3v的電源供應R1為51歐姆、R2為110歐姆其實抓個大概電壓有在3.3V左右就可以。
3.5V的部分就焊USB電壓來源(5V),GND就焊在USB的GND,至於3.3V就焊接到下圖紅色圈圈電阻的左邊


4.完成後就會像下圖(杜邦線的顏色請別太在意)

焊接完成後我在Win10作業系統無法動作,所以改在Win7作業系統測試是可以的,測試模組為HM-10。
1.這部分比較麻煩的是我是用焊槍作焊接,所以要小心芯片腳位會有短路問題,當然在焊接完      成後不管是5V和GND或是3.3V和GND,都要去量是否有短路才可以接上電腦。
2.對此這款pl2303hxa driver在Win8以上會無法使用,這部分就需要自行去網路上找資料,畢竟這方面的東西很多,所以這裡就不多做解釋

上述如果有錯誤或是更好的方法,提醒和交流我會非常感激。

2020年9月20日 星期日

convert 'const char*' to 'String' in initialization

 如標題所述我要讓string 轉為 char*

前提:會使用到toCharArray()length()這個兩個Function

流程:

1.有可能會像我一樣從Serial monitor輸入一組string或是寫另一組C# Farmework做輸入

2.要做出兩種宣告

char str[insert_str.length() + 1];
char *str1[insert_str.length() + 1];

insert_str 為輸入string

3.把insert_str轉為字串需要用到toCharArray()

insert_str.toCharArray(str , insert_str.length() + 1);
//一定要多+1個位子,在arduino Reference裡有特別標示string - char array後一定要多加空字符

 4.利用for迴圈把char放入*char

for (int i = 0 ; i <= insert_str.length() ; i++)
{
 str1[i] = &str[i];
}

上述如果有錯誤或是更好的方法,提醒和交流我會非常感激。