自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (4)
  • 收藏
  • 关注

原创 沁恒八串口扩展芯片CH438详解(含电路例程)

 很多单片机,比如51单片机,只有一个或两个串口。所以,有时会遇到串口不够用的情况,这时候可以换一款串口更多的单片机。而有时你又不想换一款单片机,那可以使用本文要介绍的八扩展串口芯片CH438。芯片是沁恒的,沁恒的芯片用了挺多,很有特色,质量也是很棒的。二话不说,先上简介。 CH438芯片的特色,在于单芯片有8个扩展串口,每个串口有128字节的FIFO,这可以节省你的单片机的RAM,同时,不容易因为没读取接收缓冲里的数据而使缓冲区溢出。CH438的访问接口是并行口,用的引脚比较多,数据脚和地址脚可共用

2020-11-20 16:07:37 7699 1

原创 常用的PCB供电电路,电源芯片,看看有没有你需要的

 供电电路,是PCB都要用到的,是PCB的能量来源。电源芯片种类繁多,供电方案各式各样,在PCB设计中该怎样选择,本文将详细描述。 首先,供电电路设计,基本要考虑这些方面:1. 输入电压范围,输出电压、负载电流; 2. PCB上有多大面积可以布供电电路; 3. 是否要求低功耗,低静态电流; 4. 是否要求输入输出隔离; 5. 用直插还是SMT; 6.成本考虑。当然还要考虑到芯片级别,温度范围,有些是商业级0-70度,有些是工业级-40~80度。现在从电源芯片分类,来看应用吧。 先看看输入电压是DC低压的

2020-11-03 16:39:06 10221

原创 windows下枚举串口的方法,超好用,跟设备管理器枚举一样

 做上位机,与设备通信,经常会用到串口。看到一些串口助手,像SSCOM,能自动扫描枚举PC的串口。所以后面的应用,我也加上自动枚举串口。 在网上找的资料,最多的是读取注册表里的内容,HKEY_LOCAL_MACHINE\ Hardware\DeviceMap\SerialComm" 这个方法很简单,能读到本机串口,虚拟串口,或外扩USB串口等的COM号。代码如下:typedef struct _SERIALNAMEBUF{ int SerialNum; TCHAR ppSerialName[1

2020-10-20 15:52:03 2054

原创 WK系列串口扩展芯片详解(含电路例程)

WK系列串口扩展芯片详解(含电路例程) 很多单片机,比如51单片机,只有一个或两个串口。所以,有时会遇到串口不够用的情况,这时候可以换一款串口更多的单片机。而有时你又不想换一款单片机,那可以使用本文要介绍的通过IIC来扩展串口的芯片。 成都为开微电子,在串口扩展芯片上有很多选择,有2个串口、4个串口等。本文以2串口的WK2132为例进行介绍。二话不说,先上简介。 WK串口芯片的特色,在于每个串口有256级FIFO,这可以节省你的单片机的RAM,同时,不容易因为没读取WK接收缓冲里的数据而使缓冲区溢出

2020-09-25 14:41:36 6727 6

原创 谨慎处理单片机中断,中断等价于比主程序优先级更高的线程

 有些小伙伴喜欢在单片机中断里做任务,殊不知可能会因此遇到棘手的bug,然后查半天查不出个所以然。本文为了纠正这个不良习惯,对单片机中断进行阐述。 无中断时,单片机跑着主程序,当中断时,单片机进入中断服务程序。所以,中断其实是比主程序优先级更高的线程,定时中断、串口中断,每一个中断都是一个线程。既是多线程,那必然有资源共享冲突问题。所以,小小单片机,背负着“多线程”的重任。共享资源冲突,可能是全局变量访问冲突,或是函数调用冲突。 全局变量访问冲突,是在主程序中读写一个全局变量时,中断来了,在中断服务程序

2020-09-12 17:19:17 1394 1

原创 一个简单实用的MCU程序框架(非操作系统,简单调度任务) - 串口接收环形缓冲区

 前面的文章介绍了一个简单实用的MCU程序框架,定时节拍的加入,这一篇文章来介绍串口接收怎样加入到框架中。 单片机的串口接收通常是在中断里。如果数据解析在串口里边,那很多跟主程序共享的资源就容易冲突了。如上一篇文章讲的,中断其实是比主程序优先级更高的线程,定时中断、串口中断,每一个中断都是一个线程。既是多线程,那必然有资源共享冲突问题。详细情况,可以查看我的另一篇博文:谨慎处理单片机中断,中断等价于比主程序优先级更高的线程。所以正确的做法,是先在中断里缓存起来,然后再在主循环判断接收缓冲区是否有数据,有则

2020-09-12 11:25:25 594

原创 一个简单实用的MCU程序框架(非操作系统,简单调度任务) - 总体介绍

一个简单实用的MCU程序框架(非操作系统,简单调度任务) - 总体介绍 单片机程序,总体上可分为跑操作系统的和没操作系统,对于无MMU的小单片机,操作系统通常是UCOS、RTOS等实时操作系统。实际上,在我的使用过程中发现,应用这类实时操作系统的场景其实非常小,更多的应用无需操作系统,要做的只有简单的几个事情。 在无操作系统的程序上,如果没有一个框架,代码凌乱、易冲突,调试程序非常麻烦。这就像刚开始写单片机程序的时候,要加个闪灯的程序,都要折腾一番。本文介绍的,是一个简单实用的MCU程序框架,简化程序开

2020-09-10 16:30:28 1923

8串口扩展芯片CH438驱动

8串口扩展芯片CH438驱动,C语言。并口,地址线与数据线共用。主程序只要简单地调用几个函数即可,初始化,接收,发送

2020-11-20

windows下枚举串口的方法,超好用,跟设备管理器枚举一样

在windows系统(win7、win10)上枚举串口,注册表方法跟SetupAPI方法,可枚举像设备管理器那样的信息

2020-10-20

WK2132.rar

串口扩展芯片WK2132驱动代码,示例代码单片机为51单片机,C语言。IIC为软件模拟,代码同样适用于其它WK21xx芯片

2020-09-17

N76E003 程序框架 例程.rar

包含简单程序框架,定时器 串口0 串口1 ADC FLASH操作。 无中断时,单片机跑着主程序,当中断时,单片机进入中断服务程序。所以,中断其实是比主程序优先级更高的线程。那要怎样处理单片机中断,才能避免资源冲突呢。正确的做法是,在中断服务程序中仅做简单的事务,比如定时中断只对计数变量进行计数,串口接收中断只接收数据到环形缓冲区,不做具体处理,然后,所有的事务,都集中到主循环中。

2020-09-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除