一、移植stm32f103 usb-cdc例程到Eclipse IDE(GCC編譯環境)的方法
1.新建stm32f103工程模板,將需要移植的源文件、頭文件復制到工程內的文件夾里,包含cmis層和固件庫的文件。
2.添加USB庫路徑 "../system/inc/stm32_usb_fs_device_driver"
3.添加宏定義 USE_STM3210B_EVAL USB_Dual_RS485
4.雙擊GDB SEGGER J-LINK Debug,Debugger\Device name 編輯框填入stm32f103c8即可開始調試
二、導入GCC-ARM例程的方法
1.導入已有的工程項目,3.6.1庫版的usb-cdc例程已上傳
2.雙擊GDB SEGGER J-LINK Debug,Debugger\Device name 編輯框填入stm32f103c8即可開始調試
三、關閉GCC警告的方法:
例如USART2_IRQHandler中斷函數,GCC-ARM編譯器可能會出現一些警告.
關閉警告的方法1:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-prototypes"
void USART2_IRQHandler(void)
{
}
#pragma GCC diagnostic pop
關閉警告的方法2:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
static USART2_IRQHandler(void)
{
}
#pragma GCC diagnostic pop
對于中斷函數,一般推薦使用第1種方法。
四、GCC-ARM例程工程包說明
1.該工程僅適用于USB-Dual-RS485硬件,主控芯片為STM32F103C8的其它開發板,源代碼稍作修改也可以使用。
不適用于主控芯片stm32f103vc/stm32f103ze的開發板,因為工程相關的LD文件和設置不同。
2.此工程實現了單路USB-CDC,驅動支持win7/win8/win8.1。
串口綁定USART3,中斷方式工作,其中PB9是RS485換向控制腳,該工程實際上是USB-RS485實現的一個軟件包。
經測試TTL發送小于64字節、等于64字節、大于64字節都可以通過。
根據數據包在中斷中連接發送的原理,在一個完整的數據包尚未發送完畢,PB9不會控制RS485轉為接收狀態,
這和某些公司售價為800元的USB-RS485不同,不會把主機的數據包拆分為多個小數據包發送。
3.usb-cdc-gcc例程工程源代碼包下載地址
【文件下載】
usb-cdc-gcc.281.rar
(249.42 KB, 下載次數: 32)
2015-9-14 16:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
,該例程僅適用于STM32F103C8硬件。
4.USB-CDC驅動下載地址
stm32f103c8是意法半導體的一個芯片,其中USB通訊模塊是收購其它公司獲得的,CDC底層源代碼經過意法半導體
工程師數年的改進,可以投入商用。上位機的USB驅動程序通過微軟的數字簽名認證。
在win10環境下,單路cdc或多路cdc不需要按照驅動程序就可以工作,linux環境下,單路cdc能自動安裝驅動程序,
linux下目前沒有多路cdc的驅動,這也是本工程包不作成多路的其中一個原因。
stm32_vcp_v1.4.rar
(2.05 MB, 下載次數: 13)
2015-9-14 16:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|