logo

對于CH551這種內存比較少的芯片,改小端點內存緩沖區是否安全。

官方例程里,內存緩沖區都用指定地址的方式劃分了區域,而且保留區域為64或128字節。我在數據手冊里沒有找到設定緩沖區大小的寄存器,相信使用64字節肯定不會溢出。


現在我希望嘗試用CH551來跑程序,但是端點比較多,全保留64字節空間的話內存不夠。如果在描述符里,端點大小只有8,那么只為端點緩沖區保留8字節是否安全?是否有溢出風險?


謝謝

可以將端點緩沖區設置成8字節,只是相對于一包64字節來說速度會慢一點,之前一包可以傳完的數據現在需要八包來傳


025-89692394 e-mail:[email protected] QQ:3212834442(請備注公司信息和簡要需求描述)

謝謝,根據我目前的理解,如果正確的話,CH552的硬件會將USB數據包的內容送至UEPn_DMA地址處的內存緩沖區,在觸發USB中斷處理。數據手冊里在有一句:

注:接收數據的緩沖區的長度 >= min(可能接收到的最大數據包長度 + 2 字節,64 字節)


我現在猶豫的地方是,沒有硬件設定緩沖區長度的機制,那么如果主機出錯或者干擾,導致接收USB數據包超過了緩沖區大小,是否會造成溢出?還是這種情況及其罕見,我多慮了?

這人很懶,什么都沒留下

其實建議你可以將IN令牌包的緩沖區大小設置成你想要的大小,因為上傳的數據量你是可以控制的。但是OUT包還是使用默認的64字節比較好,因為主機下發的數據量你是沒法控制的

025-89692394 e-mail:[email protected] QQ:3212834442(請備注公司信息和簡要需求描述)
只有登錄才能回復,可以選擇微信和github賬號登錄
体彩11选5助手 股票推荐3只暴涨股 非公开发行股票 北单比分开奖结果 北京十一选五 广东26选5 2013年全球股票指数 股票学习网 向钱进理财平台 天天基金理财平台 sina新浪体育 24即时比分 天津快乐十分 极速快乐十分 目前最好的理财方式 新疆11选5 股票涨跌分析