文章目录
- 1、CH390芯片介绍
- 2、电路部分
- 3、LWIP调试
- 3.1修改点1
- 3.2 修改点2
- 4、结果展示
- 参考
1、CH390芯片介绍
官网地址: 南京沁恒微电子股份有限公司
特点:
2、电路部分
CH390及接口:
STM32F1引脚:
不含LWIP的demo及LWIP调通demo下载地址:CH390H+STM32F1程序,其中包含无LWIP和有LWIP的两个工程
3、LWIP调试
商家给的demo程序已包含LWIP源码,只是没有用,搞不懂,不知道是不是没调通还是想另收费。
3.1修改点1
LWIP源码不需要做任何修改,唯一需要用户自己实现的就是ethernetif.c中的sys_new()和sys_jiffies(void)函数,有用RTC实现功能的,我这里使用TIM2实现1ms定时。
void TIM2_Init(unsigned int arr, unsigned int psc)
{ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //时钟使能TIM_ClearITPendingBit(TIM2,TIM_IT_Update);//清除中断标志位TIM_TimeBaseStructure.TIM_Period = arr; //自动重装载周期值 TIM_TimeBaseStructure.TIM_Prescaler =psc; //预分频值 TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_timTIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMxTIM_ITConfig( TIM2,TIM_IT_Update, ENABLE );//使能更新触发TIM中断//中断分组设置NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; //TIM2中断NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; //先占优先级0级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //从优先级3级NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能NVIC_Init(&NVIC_InitStructure); //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2TIM_Cmd(TIM2, ENABLE); //使能TIMx外设}uint32_t cnt=0;
void TIM2_IRQHandler(void)
{if(TIM_GetITStatus(TIM2,TIM_IT_Update) != RESET) //溢出中断{cnt++;if(cnt>=0x7FFFFFFF){cnt=0;}}TIM_ClearITPendingBit(TIM2,TIM_IT_Update); //清除中断标志位
}
extern uint32_t cnt;
u32_t sys_now(void)
{//return ((RTC->CNTH << 16) | RTC->CNTL);return cnt;
}u32_t sys_jiffies(void)
{ //return ((RTC->CNTH << 16) | RTC->CNTL);return cnt;
}
3.2 修改点2
这里有个大坑,也不知道什么原因,之前一直没调通,问商家也没用,不提供技术支持,后面把这个去掉就正常了
以上就是全部修改点,简单吧,源码不在这里大量展示,可以去下载整个工程。
4、结果展示
ping结果:
回显数据:(板子书TCP server)
串口打印结果:
参考
LwIP应用开发笔记之五:LwIP无操作系统TCP服务器
https://www.cnblogs.com/foxclever/p/11921555.html
【WCH以太网接口系列芯片】STM32+CH390+Lwip协议栈简单应用测试:
https://www.cnblogs.com/sw111/p/18112004