Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

我正在尋找一些固件如何配置 RS232 xmit/rec。

 

謝謝

1 解決方案
Translation_Bot
Community Manager
Community Manager
Community Manager

我寶上一民作的實,程式式你考 P0.3 位
/P0.2 人是有使用 1_CH0.DOUT0 [ALT9] /USIC1_CH0.配0.DX0A 功是我為 P4.4/ 用
P4.5 腳位, 是使用用 1 _CH0.DOUT0 [ALT6]/使用 1_CH0.DX0D 定, 38400-8-N-1 通規格

//38400
#define 金融協定步驟
#define

#define BRG_DCTQ 24
#define BRG_PCTQ 0 #define PC_SP 15//不超

//=================== 初始版本 RS232
無效烏爾特·伊尼特 _P4_5(無效)//RX = P4.5,德克薩斯 = P4.4
{
/* 禁用 USIC0 的時鐘門控:*/
SCU_ 一般-密碼 = XMC_SCU _ GCU_ > 通行證 _ 處理 _ 停用;
 
/* 停止門控 USIC1 */
飛機中心-> CGATCLR0 = 0X00040000UL;
 
/* 如果 VDDC 太低,請等待 VDDC 穩定 */
同時 (飛大 _ CLK-赤九廣鐵路 0X40000000UL) > &
{
繼續;
}
 
/* 啟用位保護 */
SCU _ 一般-密碼 = XMC_SCU _ GCU_ > 通過 _ 產品 _ 啟用;
 
/* 啟用模塊內核時鐘和模塊功能:*/
USIC1_CH0-> KSCFG | = 使用 _KSCFG _ 莫登 _ 莫登 _ MSK | 使用 _KSCFG _ 莫登 _ MSK;
 
使用 _CH0-CCR = 0000; >
 
//===================================================================================================================
使用 1_CH0-> FDR & = 〜 (使用 _ 俄羅斯聯邦調解器 _ MSK | 使用 _CH_FDR_ 步驟 _ MSK);
使用 1_CH0-> FDR | = (調解 _ DM 使用調解 _ 調解 _ 數據 _ 數位) | (FDR < < _ 步驟 38400 使用 _ 調解 _ 步驟 _ 步驟 _ 步驟-POS); < <
USIC1_CH0-> BRG & = ~ (使用 _CH_ BRG _ MSK | 使用 _CH_ BRG _ MSK | 使用 _CH_BRG _ 普迪夫 _ MSK | USIC_CH_BRG _ 布克塞爾 _MSK | USIC_CH_BRG 塞爾 _ MSK);
BRG_CH0-> BRG | = (BRG 使用方式 _ 正式位置) | (BRG_DCTQ 使用位置) | (BRG_DCTQ 使用位置) | (BRG_P < < DIV_38400 使用方式); < < < <
 
 
使用 1_CH0-> 聚合物反應 & = 〜 (使用 _CH_PCR _ 小型模式 _ 安全模式 _ MSK | 使用 _CH_ 模型 _ MSK | 使用 _CH_PCR _ 阿斯克模型 _PL_MSK);
使用 _CH0-> 聚氯聯苯 | = 使用 _ 加密模式 _ SMD_MSK | (PCR 使用 _ 密度 _ 平台模式 _ SP_POS); < <
 
//===================================================================================================================
USIC1_CH0-> SCTR & = ~ (中英文版本中心 _ 土木工股份有限公司 | 中英文版本中心 (MSK);
USIC1_CH0-> SCTR | = 使用 _CH_SCR_MSK | (0X01 使用信息管理系統) | (0X07 用戶使用 CH_SCR _ 弗萊 _ POS) | (0x07 用戶端); < < < < < <
 
中國企業社會責任 = ~ (使用 _ 中國>企業社會責任&);
>TCS_T-企業社會責任 | = 使用 _ 中國企業社會責任 _ 中國企業社會責任 _ 中心 _ 銷售); < <
 
//===================================================================================================================
P4_5 _ 設置模式(輸入);
使用 _CH0-> DX0CR = 0X00000003;//
//===================================================================================================================
///-USIC1_CH0 中斷節點指針寄存器:SR2
印度公關 = 0X22222; >
 
WR_REG(使用 1_CH0-> PCR _ 交換模式,使用 _CH_PCR _ 平臺模式 _ SMD_MSK,使用 _C_PCR _ 模式 _ SMD_POS,1);
正常模式 | = 0X2000; >
 
WR_REG (SCU 一般-> INTCR0, 常規 _ 通用 _ 中央管理系統, MSK, 中央管理系統, 1);//選中源:A/ 斷 B/ C
 
設定優先順序 (IRQ11 _ IRQN, 10);
NVIC_ 啟用器 (IRQ11-IRQN);
 
//===================================================================================================================
///-選取 ASC (SCI、UART) 通訊協定
///-數據丟失中斷啟用
///-傳輸移位中斷啟用
///-接收中斷啟用
///-替代接收中斷啟用
使用 _CH0-CCR = 0XD802; >
 
//===================================================================================================================
P4_4 _ 設定 _ 模式 (輸出 _ 輸出 _ AF6);//推入 _ 拉 _ ALT6
}//函數結束

需要宣告:#define UART _ 中斷 IRQ11 _ 處理常式

中斷可可可以參下
//========================= 更新中斷
無效 UART _ 中斷(無效)
{
如果 (USIC1_CH0-> PSR 模式 0xC800)//備用接收中斷標誌 &
{
正常情況下-PSCR | = 0XC800;//清除 > PSR_AIF
接收 _ 緩衝區 = USIC1_CH0-輸出;>
 
}
 
}
 
如果(使用 1_CH0-> PSR _ 交換模式 0X1000)//TIF &
{
瑞士通訊科技股份有限公司-= 0X1000;//>TBIF
 
輸入中斷 _ 計數 ++;
 
如果(輸入中斷計數!= 發送 _ 計數)
{
>清除傳輸緩衝區指示旗標
傳送資料>緩衝區 [0] = 傳送資料緩衝區 [UART _ 傳送計數];
}
}
傳送與收收真使用中斷

在原始文章中檢視解決方案

0
7 回應
Translation_Bot
Community Manager
Community Manager
Community Manager

@bcarrocc,

您使用的是什麼硬件?
您正在使用哪種 RS232 到 TTL 轉換器?

最好的問候
普拉德普.

0
Translation_Bot
Community Manager
Community Manager
Community Manager

該硬件是一個 XMC1402-T038。 不確定我是否理解你的問題。

RS232轉TTL轉換器是現成的USB轉RS232。

我正在尋找的是一些固件,將設置 XMC1402 USART_TX(引腳 20 P0.3)和 USART_RX(引腳 19 P0.2)。

提前致謝

 

 

0
Translation_Bot
Community Manager
Community Manager
Community Manager

我寶上一民作的實,程式式你考 P0.3 位
/P0.2 人是有使用 1_CH0.DOUT0 [ALT9] /USIC1_CH0.配0.DX0A 功是我為 P4.4/ 用
P4.5 腳位, 是使用用 1 _CH0.DOUT0 [ALT6]/使用 1_CH0.DX0D 定, 38400-8-N-1 通規格

//38400
#define 金融協定步驟
#define

#define BRG_DCTQ 24
#define BRG_PCTQ 0 #define PC_SP 15//不超

//=================== 初始版本 RS232
無效烏爾特·伊尼特 _P4_5(無效)//RX = P4.5,德克薩斯 = P4.4
{
/* 禁用 USIC0 的時鐘門控:*/
SCU_ 一般-密碼 = XMC_SCU _ GCU_ > 通行證 _ 處理 _ 停用;
 
/* 停止門控 USIC1 */
飛機中心-> CGATCLR0 = 0X00040000UL;
 
/* 如果 VDDC 太低,請等待 VDDC 穩定 */
同時 (飛大 _ CLK-赤九廣鐵路 0X40000000UL) > &
{
繼續;
}
 
/* 啟用位保護 */
SCU _ 一般-密碼 = XMC_SCU _ GCU_ > 通過 _ 產品 _ 啟用;
 
/* 啟用模塊內核時鐘和模塊功能:*/
USIC1_CH0-> KSCFG | = 使用 _KSCFG _ 莫登 _ 莫登 _ MSK | 使用 _KSCFG _ 莫登 _ MSK;
 
使用 _CH0-CCR = 0000; >
 
//===================================================================================================================
使用 1_CH0-> FDR & = 〜 (使用 _ 俄羅斯聯邦調解器 _ MSK | 使用 _CH_FDR_ 步驟 _ MSK);
使用 1_CH0-> FDR | = (調解 _ DM 使用調解 _ 調解 _ 數據 _ 數位) | (FDR < < _ 步驟 38400 使用 _ 調解 _ 步驟 _ 步驟 _ 步驟-POS); < <
USIC1_CH0-> BRG & = ~ (使用 _CH_ BRG _ MSK | 使用 _CH_ BRG _ MSK | 使用 _CH_BRG _ 普迪夫 _ MSK | USIC_CH_BRG _ 布克塞爾 _MSK | USIC_CH_BRG 塞爾 _ MSK);
BRG_CH0-> BRG | = (BRG 使用方式 _ 正式位置) | (BRG_DCTQ 使用位置) | (BRG_DCTQ 使用位置) | (BRG_P < < DIV_38400 使用方式); < < < <
 
 
使用 1_CH0-> 聚合物反應 & = 〜 (使用 _CH_PCR _ 小型模式 _ 安全模式 _ MSK | 使用 _CH_ 模型 _ MSK | 使用 _CH_PCR _ 阿斯克模型 _PL_MSK);
使用 _CH0-> 聚氯聯苯 | = 使用 _ 加密模式 _ SMD_MSK | (PCR 使用 _ 密度 _ 平台模式 _ SP_POS); < <
 
//===================================================================================================================
USIC1_CH0-> SCTR & = ~ (中英文版本中心 _ 土木工股份有限公司 | 中英文版本中心 (MSK);
USIC1_CH0-> SCTR | = 使用 _CH_SCR_MSK | (0X01 使用信息管理系統) | (0X07 用戶使用 CH_SCR _ 弗萊 _ POS) | (0x07 用戶端); < < < < < <
 
中國企業社會責任 = ~ (使用 _ 中國>企業社會責任&);
>TCS_T-企業社會責任 | = 使用 _ 中國企業社會責任 _ 中國企業社會責任 _ 中心 _ 銷售); < <
 
//===================================================================================================================
P4_5 _ 設置模式(輸入);
使用 _CH0-> DX0CR = 0X00000003;//
//===================================================================================================================
///-USIC1_CH0 中斷節點指針寄存器:SR2
印度公關 = 0X22222; >
 
WR_REG(使用 1_CH0-> PCR _ 交換模式,使用 _CH_PCR _ 平臺模式 _ SMD_MSK,使用 _C_PCR _ 模式 _ SMD_POS,1);
正常模式 | = 0X2000; >
 
WR_REG (SCU 一般-> INTCR0, 常規 _ 通用 _ 中央管理系統, MSK, 中央管理系統, 1);//選中源:A/ 斷 B/ C
 
設定優先順序 (IRQ11 _ IRQN, 10);
NVIC_ 啟用器 (IRQ11-IRQN);
 
//===================================================================================================================
///-選取 ASC (SCI、UART) 通訊協定
///-數據丟失中斷啟用
///-傳輸移位中斷啟用
///-接收中斷啟用
///-替代接收中斷啟用
使用 _CH0-CCR = 0XD802; >
 
//===================================================================================================================
P4_4 _ 設定 _ 模式 (輸出 _ 輸出 _ AF6);//推入 _ 拉 _ ALT6
}//函數結束

需要宣告:#define UART _ 中斷 IRQ11 _ 處理常式

中斷可可可以參下
//========================= 更新中斷
無效 UART _ 中斷(無效)
{
如果 (USIC1_CH0-> PSR 模式 0xC800)//備用接收中斷標誌 &
{
正常情況下-PSCR | = 0XC800;//清除 > PSR_AIF
接收 _ 緩衝區 = USIC1_CH0-輸出;>
 
}
 
}
 
如果(使用 1_CH0-> PSR _ 交換模式 0X1000)//TIF &
{
瑞士通訊科技股份有限公司-= 0X1000;//>TBIF
 
輸入中斷 _ 計數 ++;
 
如果(輸入中斷計數!= 發送 _ 計數)
{
>清除傳輸緩衝區指示旗標
傳送資料>緩衝區 [0] = 傳送資料緩衝區 [UART _ 傳送計數];
}
}
傳送與收收真使用中斷
0
Translation_Bot
Community Manager
Community Manager
Community Manager

@bcarrocc,

感謝 @MaxHsu 發布答案。

@bcarrocc CAN檢查上述固件,如果您有任何進一步疑問,請告訴我。

最好的問候
普拉德普.

0
Translation_Bot
Community Manager
Community Manager
Community Manager

我正在使用 DAVE 來構建調試順便說一句

 

0
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

我沒有看到主要例程,我想使用 P02 進行 REC 和 P03 進行傳輸。 漢字會造成混淆。

 

0
Translation_Bot
Community Manager
Community Manager
Community Manager

@bcarrocc,

您CAN在 DAVE 中使用上述功能。

以上類似於 uart.c 文件。 創建一個源文件並添加上述函數,並使用該函數在 main.c 中建立 UART 通信 或者您CAN直接在 main.c 中使用上述函數。

您是否想在代碼中使用 RTS 和 CTS 功能?

最好的問候
普拉德普.

 

 

 

0