华大单片机HC32L110实用干货分享
本帖最后由 火辣西米秀 于 2021-3-24 20:56 编辑<p>华大单片机HC32L110//HC32F003/HC32F005 系列芯片具有相同的UART外设资源,它们的printf代码可以通用。</p>
<p>本例程中使用P35引脚为printf输出引脚,波特率为19200,数据格式:1位起始位+8位数据位+1位停止位。</p>
<p>UART初始化代码如下:</p>
<p>void Debug_UartInit(void)</p>
<p> {</p>
<p> uint32_t u32Pclk1 = 0;</p>
<p> uint32_t u32ReloadVal = 0;</p>
<p> </p>
<p> ///UART0_TXD/P35, 19200bps</p>
<p> M0P_GPIO->P3ADS_f.P35 = 0;</p>
<p> M0P_GPIO->P35_SEL_f.SEL = 3;</p>
<p> M0P_GPIO->P3DIR_f.P35 = 0;<br />
u32Pclk1 = Sysctrl_GetPClkFreq();</p>
<p> u32ReloadVal = 65536 - u32Pclk1 * 2 / 19200 / 32;<br />
M0P_TIM0->CR_f.CT = 0;</p>
<p> M0P_TIM0->CR_f.MD = 1;</p>
<p> M0P_TIM0->CR_f.TOGEN = 1;</p>
<p> M0P_TIM0->ARR = u32ReloadVal;</p>
<p> M0P_TIM0->CNT = u32ReloadVal;</p>
<p> M0P_TIM0->CR_f.CTEN = 1;</p>
<p> </p>
<p> M0P_UART0->SCON_f.DBAUD = 1;</p>
<p> M0P_UART0->SCON_f.SM01 = 1;<br />
}</p>
<p><br />
UART发送单字节代码如下:</p>
<p>void Debug_Output(uint8_t u8Data)</p>
<p> {</p>
<p> M0P_UART0->SCON_f.REN = 0;</p>
<p> M0P_UART0->SBUF = u8Data;</p>
<p> while (TRUE != M0P_UART0->ISR_f.TI)</p>
<p> {</p>
<p> ;</p>
<p> }</p>
<p> M0P_UART0->ICR_f.TICLR = 0;</p>
<p> }</p>
<p>printf函数重映射代码如下:</p>
<p>int fputc(int ch, FILE *f)</p>
<p> {</p>
<p> if (((uint8_t)ch) == '\n')</p>
<p> {</p>
<p> Debug_Output('\r');</p>
<p> }</p>
<p> Debug_Output(ch);</p>
<p> return ch;</p>
<p> }<br />
/******以上代码在ddl.c中,也可以根据自己的架构放到用户自己相应文件中*******/<br />
主程序中代码如下:</p>
<p>int32_t main(void)</p>
<p> {</p>
<p>Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);</p>
<p>Sysctrl_SetPeripheralGate(SysctrlPeripheralBt, TRUE);</p>
<p>Sysctrl_SetPeripheralGate(SysctrlPeripheralUart0, TRUE);</p>
<p>Debug_UartInit();<br />
while (1)</p>
<p>{ </p>
<p> printf("printf test \r\n");</p>
<p> delay1ms(1000);</p>
<p>}</p>
<p>}</p>
<p>运行结果如下:</p>
<p> </p>
<p></p>
<p><span style="font-size:16px;">如果需要工程文件, <span style="color: rgb(68, 68, 68); font-family: 微软雅黑; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">请下载测试工程</span></span></p>
<p>**** Hidden Message *****</p>
<p>干货阿,感谢楼主的分享,我也要贡献一份力量</p> <p>华大单片机多人在用吗?稳定性如何,还有价格有优势吗?</p>
<p>学习一下</p>
zhidai 发表于 2023-5-12 16:48
学习一下
<p>对大家有帮助就行</p>
<p>不错,,正在搞华大单片机</p>
<p>fdsaf</p>
<p>哇哇哇哇</p>
使用P35引脚为printf输出引脚,波特率为19200,数据格式:1位起始位+8位数据位+1位停止位 <p>学习一下学习一下</p>
<p>好像没有新唐好</p>
<p>干货阿,感谢楼主的分享</p>
页:
[1]