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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言 串口 封装,首颗超小封装的串口(UART)转PWM转换芯片ZWI10A

發(fā)布時(shí)間:2023/12/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言 串口 封装,首颗超小封装的串口(UART)转PWM转换芯片ZWI10A 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

全球首顆超小封裝的串口(UART)轉(zhuǎn)PWM控制芯片SOC。

功能概述

● PWM輸出特性

- PWM輸出范圍150HZ-200KHZ。

- PWM頻率為16位精度。

-占空比調(diào)節(jié)方式(0-255)。

● 高精度內(nèi)部振蕩器

-出廠時(shí)精度校準(zhǔn)為 ±1%。

-內(nèi)部帶晶振故障檢測電路。

● 超寬的工作電壓

-寬工作電壓范圍。(1.8V-5.5V)。

-工業(yè)級和擴(kuò)展級溫度范圍。

-上電自復(fù)位無需外部電路。

-上電電壓檢測電路,低電壓自鎖電路。

● 超低的功耗

- 3V 25條件下的功耗

-工作模式2.2mA。

-空閑模式0.5mA。

-掉電模式<1 uA。

-當(dāng)電壓為2.0V時(shí),典型值為3 μA。

● I/O和封裝

-超小的封裝SOT23-6,8腳UDFN封裝。特別適合便攜式低功耗的應(yīng)用。

● 電氣特性

-工作溫度-55°C到+125°C。

-存儲(chǔ)溫度-65°C到+150°C。

-各個(gè)引腳對地的電壓VCC+0.5V。

-最大工作電壓6.0V。

-每個(gè)I/O引腳的DC電流40.0 mA。

- VCC與GND引腳的DC電流200.0 mA。

引腳定義

腳位

標(biāo)識

功能

1

RX

UART異步串行口RX接收腳。

2

GND

數(shù)字及模擬地

3

PWM

PWM輸出口

4

NC

保留其他功能

5

VCC

VCC(2.0-5.5V)

6

/EN

使能腳:

0:芯片正常工作。

1:芯片進(jìn)入休眠。

UART接口協(xié)議

芯片內(nèi)部集成了串口通信協(xié)議。符合通用的TTL電平(3.3V-5V),波特率固定為4800,

1位開始,數(shù)據(jù)位8位,1位停止,沒有校驗(yàn)位。因?yàn)樾酒_不多,芯片只有RX引腳作為接收指令。指令的格式如下:

幀頭+命令字+數(shù)據(jù)H+數(shù)據(jù)L+CRCH+CRCL

幀頭

命令

數(shù)據(jù)H

數(shù)據(jù)L

CRCH

CRCL

0xA5

0x01

0x1F

0x40

0XC2

0XEB

0xA5

0x02

0x00

0xFF

0X6F

0X72

幀頭:固定值為0xA5。

命令字:1:0x01更改輸出PWM頻率。2:0x02更改占空比。

數(shù)據(jù):數(shù)據(jù)是一個(gè)int整形共16bit。分開兩個(gè)字節(jié)發(fā)送,前面一個(gè)字節(jié)為數(shù)據(jù)的高字節(jié),后一個(gè)字節(jié)為數(shù)據(jù)的低字節(jié)。當(dāng)命令字

為0x01時(shí)數(shù)據(jù)對應(yīng)的為一個(gè)16位的PWM頻率的整數(shù)。頻率的計(jì)算公式為:freq=8000000/data。Data為需要傳輸?shù)?6位int。

需要拆分成2個(gè)字節(jié)發(fā)送。譬如想要輸出1kHZ的頻率。1000=8000000/data,Data=8000,轉(zhuǎn)成十六進(jìn)制后為:0x1F40則

DataH=0x1F,DataL=0x40。如果命令字為0x02,數(shù)據(jù)對應(yīng)的就是PWM的高電平的占空比,占空比目前只支持0-255可調(diào)。

0對應(yīng)的就是全部為低電平。255表示全部為高電平。

CRC:為16位的CRC-16/CCITT ?多項(xiàng)式系數(shù)x16+x12+x5+1。多項(xiàng)式為0x1021。初始值為:0x0000;CRC也是分開2個(gè)字節(jié)傳輸。前

面為高字節(jié)。后面為低字節(jié)。CRC計(jì)算前面所有字節(jié)的一共4字節(jié)。

C語言實(shí)現(xiàn)代碼:

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

* Name:

CRC-16/CCITT??????? x16+x12+x5+1

* Poly:

0x1021

* Init:

0x0000

* Refin:

True

* Refout:

True

* Xorout:

0x0000

* Alias:

CRC-CCITT,CRC-16/CCITT-TRUE,CRC-16/KERMIT

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

uint16_t crc16_ccitt(uint8_t

*data, uint8_t length)

{

uint8_t i;

uint16_t crc = 0;?? // Initial value

while(length--)

{

crc ^= *data++; // crc ^= *data;

data++;

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

{

if (crc & 1)

crc = (crc >> 1) ^

0x8408;

else

crc = (crc >> 1);

}

}

return crc;

}

串口通信因?yàn)榇嬖谝欢ǖ牟ㄌ芈收`差,一旦CRC16校驗(yàn)不通過,芯片會(huì)拋棄該指令。所以為了保證系統(tǒng)的能得到正確的控制指令MCU主控端需要考慮多發(fā)幾次指令,或者相隔一定的時(shí)間循環(huán)發(fā)送,每次指令和指令直接的延時(shí)不能少于20ms。推薦50ms一次。

串口的典型應(yīng)用電路:

電腦通過USB控制LED的調(diào)光

總結(jié)

以上是生活随笔為你收集整理的c语言 串口 封装,首颗超小封装的串口(UART)转PWM转换芯片ZWI10A的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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