日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

efm32芯片电压_谁说壁虎没用?用efm32做个USB电压电流表(可诱导QC2.0)

發(fā)布時間:2023/12/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 efm32芯片电压_谁说壁虎没用?用efm32做个USB电压电流表(可诱导QC2.0) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在瘋狂的擼pos的過程中,壇友看重的最多是電池,緊接著就是stm32/gd32單片機,而核心為efm32一派的pos機,因為資料少,沒調(diào)試工具,就被打上了:沒卵用,垃圾,便宜貨等等的名號,被大家仍在墻角堆灰。為了利用上這只小壁虎,于是乎為決定研究研究。

開始入門是照著@kanamu 大神的帖子來的,玩了幾天,覺得壁虎的adc性能不錯(1msps,12bit,4ch,內(nèi)部1.25/2.5v的bandgap基準,輸入阻抗高,可以差分輸入),于是就有了這個usb小表的小項目。

然后從學習點亮第一個LED燈到現(xiàn)在,掐指一算,應(yīng)該就兩個星期的零碎時間搞起來了。

好的,不啰嗦了,開始

如果想要學習的話,兩個東西必備,首先要一個jlink。怎么?沒有jlink?用pos機做一個唄,只要一塊錢

【教程】用gd32做一個jlink-ob調(diào)試器,并吊打壁虎(efm32)|http://bbs.mydigit.cn/read.php?tid=1692562

然后開發(fā)環(huán)境,我選擇的是官方提供的simplicity-studio,圖形化的開發(fā)環(huán)境,很簡單的說,點幾下,選一下就可以玩了,不過有些壇友說太大難下載,這個嘛,我也幫不了你了,我這里下載能到100兆帕的樣子(偷笑)

下載地址:http://cn.silabs.com/products/mcu/Pages/simplicity-studio.aspx

網(wǎng)速快的可以先現(xiàn)在在線端,然后補充對應(yīng)型號的庫就好了,這樣省空間點

當然我這個小表現(xiàn)在的狀態(tài)還是原型樣機,驗證階段。沒有任何顯示裝置,電壓電流靠串口回傳的,本來搞好了數(shù)碼管,但懶得飛線焊上,那就將就下了,自用無所謂了

圖片:21.JPG

小表和jlink的整套合影,簡單粗糙啊真是

圖片:整套設(shè)備.JPG

中間飛了一堆線

圖片:24.JPG

壁虎efm32單片機特寫

圖片:捕獲.JPG

這個是usb部分焊好的電路,雙面洞洞板真是個折磨人的小妖精啊

圖片:23.JPG

圖片:22.JPG

qc2.0誘導試驗

誘導開始前,電壓5v,紅燈亮

圖片:誘導1.JPG

誘導成功,輸出9v,因為我這個充電頭沒有12v檔,就沒測了

圖片:誘導2.JPG

簡單說一下qc2.0的協(xié)議,手機在d+上加0.6v電壓,這時充電器內(nèi)部d+和d-是聯(lián)通的,d-也是0.6v,在1.35秒后,充電器斷開d+和d-的聯(lián)通,d-電壓降到0,這時表示充電器支持協(xié)議,接下來就是手機請求電壓,在d+加3.3v,d-加0.6v時,輸出9v,在d+加0.6v,d-加0.6v時,輸出12v,在d+加3.3v,d-加3.3v時,輸出20v,在d+加0.6v,d-加0v時,輸出5v,然后就可以靠這協(xié)議來騙一把充電器了。在d+上我用dac直接實現(xiàn),這很方便,d-上接adc,同時有一個引腳推挽輸出高,10k和2.2k分壓為0.6v,這樣就可以讓充電器輸出9v了,18w功率可是爽歪歪啊。

電壓電流測試

電流取樣電阻因為手頭只有100毫歐的,只能硬頭皮上了,雖然好像真的有點大了。

目前串口值是原始數(shù)據(jù),不過波動不算太大

5v時給手機充電,電壓0x640左右,換算為5.08v

電流為0xae左右,500ma左右

圖片:手機充電.JPG

誘導為9v時,因為我沒有合適負載,所以電流數(shù)據(jù)是0了,就測了下電壓0xB2f左右,9.08v的樣子

圖片:9v.JPG

這個值有點偏低的問題,是adc有點偏低,之前測試了整個量程,大概偏了一個f的樣子,具體原因不是很清楚,可能也和電路有關(guān),不過偏的比較線性,后面可以校準,輸出值波動不大,這倒是個好事。

最后上電路圖,簡易的

圖片:電路圖.JPG

當然以上要保證最小系統(tǒng)正常,因為實驗階段是在pos板子上改的,就沒必要理,不過還是貼張最小系統(tǒng)的圖

圖片:最小系統(tǒng).JPG

仿制難度應(yīng)該不大,就是太簡單太low了,不過想玩qc2.0的可以試試

我貼下源代碼,真的不長,不過沒注釋,我太懶了

其實,真心,這貨的現(xiàn)在的難度,就是點幾下鼠標,然后后面的操作就很簡單了,已經(jīng)有點類似arduino的感覺了

復制代碼

#include

#include

#include "em_usart.h"

#include "em_device.h"

#include "em_chip.h"

#include "InitDevice.h"

#include "em_cmu.h"

#include "em_gpio.h"

#include "stdio.h"

#include "em_emu.h"

#include "em_adc.h"

#include "em_dac.h"

void sys_int(void)

{

CHIP_Init();

/* Infinite loop */

enter_DefaultMode_from_RESET();

//GPIO_PinOutClear(gpioPortA, 8);

/*串口進中斷*/

USART0->IFC = _USART_IFC_MASK;

NVIC_ClearPendingIRQ(USART0_RX_IRQn);

NVIC_EnableIRQ(USART0_RX_IRQn);

USART0->IEN = USART_IEN_RXDATAV;

USART0->ROUTE |=??USART_ROUTE_TXPEN | USART_ROUTE_RXPEN | USART_ROUTE_LOCATION_LOC0;

/*串口進中斷結(jié)束*/

/* Enable DAC channel 0, located on pin PB11 */

DAC_Enable(DAC0, 0, true);

}

/**************************************************************************//**

* [url=u.php?uid=650075]@brief[/url]????Write DAC conversion value

*****************************************************************************/

void DAC_WriteData(DAC_TypeDef *dac, unsigned int value, unsigned int ch)

{

/* Write data output value to the correct register. */

if (!ch)

{

dac->CH0DATA = value;

}

else

{

dac->CH1DATA = value;

}

}

uint32_t ADC0_get_result()

{

uint32_t samp;

ADC_Start(ADC0, adcStartSingle);

/* Wait while conversion is active */

while (ADC0->STATUS & ADC_STATUS_SINGLEACT) ;

/* Get ADC result */

samp = ADC_DataSingleGet(ADC0);

return samp;

}

uint32_t ADC0_get_send_result()

{

uint32_t samp;

uint8_t cache1 = 0;

uint8_t cache = 0;

uint32_t cache2 = 0;

samp = ADC0_get_result();

cache2 = samp;

cache1 = samp;

samp >>= 8;

cache = samp;

USART_Tx(USART0, cache);

USART_Tx(USART0, cache1);

return cache2;

}

void adc_change_input_ch(uint8_t ch)

{

ADC_InitSingle_TypeDef initsingle = ADC_INITSINGLE_DEFAULT;

switch(ch)

{

case 4:

initsingle.prsSel = adcPRSSELCh0;

initsingle.acqTime = adcAcqTime64;

initsingle.reference = adcRef1V25;

initsingle.resolution = adcRes12Bit;

initsingle.input = adcSingleInpCh4;

initsingle.diff = 0;

initsingle.prsEnable = 0;

initsingle.leftAdjust = 0;

initsingle.rep = 0;

ADC_InitSingle(ADC0, &initsingle);

break;

case 5:

initsingle.prsSel = adcPRSSELCh0;

initsingle.acqTime = adcAcqTime64;

initsingle.reference = adcRef1V25;

initsingle.resolution = adcRes12Bit;

initsingle.input = adcSingleInpCh5;

initsingle.diff = 0;

initsingle.prsEnable = 0;

initsingle.leftAdjust = 0;

initsingle.rep = 0;

ADC_InitSingle(ADC0, &initsingle);

break;

case 6:

initsingle.prsSel = adcPRSSELCh0;

initsingle.acqTime = adcAcqTime64;

initsingle.reference = adcRef1V25;

initsingle.resolution = adcRes12Bit;

initsingle.input = adcSingleInpCh6;

initsingle.diff = 0;

initsingle.prsEnable = 0;

initsingle.leftAdjust = 0;

initsingle.rep = 0;

ADC_InitSingle(ADC0, &initsingle);

break;

}

}

/**************************************************************************//**

* [url=u.php?uid=650075]@brief[/url]????Main function

*****************************************************************************/

int main(void)

{

int i;

uint32_t sample;

uint8_t working_satae = 1;//0-普通5v??//1-qc2.0插入前??//2-qc2.0前奏?? //3-qc2.0-9v

uint32_t DAC_Value;

sys_int();

while (1)

{

switch(working_satae)

{

case 0:

{

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

DAC_Enable(DAC0, 0, 0);

adc_change_input_ch(4);

ADC0_get_send_result();

adc_change_input_ch(6);

ADC0_get_send_result();

break;

}//case 0 (責任編輯:admin)

總結(jié)

以上是生活随笔為你收集整理的efm32芯片电压_谁说壁虎没用?用efm32做个USB电压电流表(可诱导QC2.0)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一区二区三区视频在线观看 | 亚洲精品资源在线 | 国产精品剧情av | 国产一区二区三区视频免费在线观看 | 国产一线二线在线观看 | 天天做天天干 | 高清欧美性猛交xxxx黑人猛交 | 日韩视频在线观看视频 | 中文字幕一区二区三区门四区五区 | 99亚洲天堂 | 免费在线 | 韩国三级丰满少妇高潮 | 青春草网站 | 欧美日韩国产免费一区二区三区 | 欧美综合激情网 | 巨大乳の揉んで乳榨り奶水 | 亚洲久草视频 | av网站免费在线观看 | 东京热加勒比无码少妇 | 99热网站 | 日韩av网址大全 | 国产无遮挡一区二区三区毛片日本 | 阿v视频免费在线观看 | 精品一区电影国产 | 色xxxxx | 国产精品久久久久久久久绿色 | 女futa攻玩遍整个后宫 | 又黄又爽的免费视频 | 欧美日韩另类一区 | 亚洲激情欧美 | 狠狠狠狠狠干 | 亚洲青色在线 | 久艹视频在线观看 | 男女草逼视频 | 午夜小视频免费 | 国模人体一区二区 | 一级国产精品 | 成人毛片100免费观看 | 午夜特片网 | 91久久精品美女高潮 | 久久伊人中文字幕 | 不卡黄色 | 国产成人在线观看免费网站 | 美女网站黄页 | 久久久久久久久久99 | 日本一区欧美 | 亚洲色图图片 | 国产又粗又猛又爽又黄 | 男人的天堂av女优 | 成年人在线观看视频网站 | 国产成人久久精品77777综合 | 欧美人体视频一区二区三区 | 亚洲一久久 | 国产视频高清 | 综合狠狠 | 五十路六十路 | 美女成人在线 | 久久96视频| 成人在线中文字幕 | 少妇中出视频 | 日韩一级淫片 | 狠狠干在线观看 | 国产粉嫩在线观看 | 三级免费观看 | 中文字幕3页 | 天天干,夜夜操 | 亚洲xx网站| 国产精品影片 | 国内老熟妇对白hdxxxx | 日韩免费福利视频 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 欧美丰满老妇性猛交 | 日韩色综合网 | 亚洲国产精品久久人人爱 | 亚洲国产精品成人综合久久久 | 国产精品乱 | www.国产免费 | 污污在线免费观看 | 91麻豆国产 | 综合亚洲视频 | 一区成人| 亚洲污网站 | 日本男人天堂 | 日韩色黄大片 | 国产综合久久久久久鬼色 | 日本在线中文字幕专区 | 国产偷拍一区二区三区 | 91av视频在线免费观看 | 久久中文视频 | 久久精品不卡 | 天天做天天爱夜夜爽 | 亚洲精品图区 | 日韩国产区 | 精品乱码一区内射人妻无码 | 亚洲欧美日韩色 | 国语av在线| 午夜激情毛片 | 好吊妞一区二区三区 | 蜜桃导航-精品导航 |