既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
2. uart.c
#include "UART.h"
void UART2\_Config(void)
{
CLK\_PeripheralClockConfig(CLK_PERIPHERAL_UART2, ENABLE);
UART2\_DeInit();
/\*
\* 将UART2配置为:
\* 波特率 = 115200
\* 数据位 = 8
\* 1位停止位
\* 无校验位
\* 使能接收和发送
\* 使能接收中断
\*/
UART2\_Init((u32)115200, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, UART2_PARITY_NO , UART2_SYNCMODE_CLOCK_DISABLE , UART2_MODE_TXRX_ENABLE);
UART2\_ITConfig(UART2_IT_RXNE_OR, ENABLE);
UART2\_Cmd(ENABLE);
}
void Delay(uint32\_t nCount)
{
/\* Decrement nCount value \*/
while (nCount != 0)
{
nCount--;
}
}
void UART2\_SendByte(u8 data)
{
UART2\_SendData8((unsigned char)data);
/\* 等待传输结束 \*/
while (UART2\_GetFlagStatus(UART2_FLAG_TXE) == RESET);
}
void UART2\_SendStr(const unsigned char \*p_str)
{
// u8 i = 0;
while(\*p_str != '\0')
{
UART2\_SendByte(\*p_str);
// Delay(1000);
p_str++;
}
}
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*printf\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/
/\*\*
\* @brief Retargets the C library printf function to the UART.
\* @param c Character to send
\* @retval char Character sent
\*/
PUTCHAR_PROTOTYPE
{
/\* Write a character to the UART2 \*/
UART2\_SendData8(c);
/\* Loop until the end of transmission \*/
while (UART2\_GetFlagStatus(UART2_FLAG_TXE) == RESET);
return (c);
}
/\*\*
\* @brief Retargets the C library scanf function to the USART.
\* @param None
\* @retval char Character to Read
\*/
GETCHAR_PROTOTYPE
{
#ifdef \_COSMIC\_
char c = 0;
#else
int c = 0;
#endif
/\* Loop until the Read data register flag is SET \*/
while (UART2\_GetFlagStatus(UART2_FLAG_RXNE) == RESET);
c = UART2\_ReceiveData8();
return (c);
}
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
658159)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!