CH390H+STM32F1+LWIP

1 篇文章 0 订阅
1 篇文章 0 订阅

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_tim
	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
	TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx
 
	TIM_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);//设置系统中断优先级分组2
 
	TIM_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

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hlpinghcg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值