你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32F3手记】山寨的山寨测线器

[复制链接]
nemon 提问时间:2013-4-28 11:45 /
 话说初中的时候学得一个重要的理论,就是我们还处在“初级阶段”,而且这个初级阶段据说还很漫长,于是大街上满眼的山寨货,经常是形似神缺,总是差点那么点儿意思。就拿今天要说的这个测线器来说吧,市面上经常看到的只是个8根线导通性的检测,可是以太网不是点灯泡,因此完整的功能还应有协议的检测(还可以测量长度),所以说平时看到的那些8个灯的测线器,只能算是山寨货。
为了弘扬初级阶段的山寨……我意思是自力更生的精神,我决定山寨一个山寨测线器。
首先看看原版的山寨测线器是什么样子。核心的部件是这样的:

这样,让1个引脚为低,另外7个为高,就可以依次点亮对应的led。所以,只要让stm32的8个引脚按照上述的方式工作就可以了,但是本人stm32小白一枚,还搞不明白怎么把stm32的io配成双向的,于是在人才济济的QQ群里问了一下,马上就有了回音——YouRaiseMeUp马上回复了。YouRaiseMeUp非常热心的提供了一段F1的代码,是他用GPIO模拟I2C时的配置方法,真是好人啊!于是就搞定了。
首先,为了轮询方便,把led和pin放进数组里:
Led_TypeDef a_LEDs[]={LED3,LED5,LED7,LED9,LED10,LED8,LED6,LED4};
uint16_t a_PINs[]={GPIO_Pin_0,GPIO_Pin_1,GPIO_Pin_2,GPIO_Pin_3,GPIO_Pin_4,GPIO_Pin_5,GPIO_Pin_6,GPIO_Pin_7};
为什么led是这个顺序呢?看这张图:

这下大家知道为什么原理图里PE的8个引脚弄成这么个怪顺序了吧?

然后是监测函数,入口参数只有一个,表示检测的是0~7中的第几个脚:
uint8_t testPin(int i_seq)
{
         GPIO_InitTypeDef GPIO_InitStructure;
        int i=0;
        uint16_t PortVal;
        uint8_t t;
       
        PortVal=0;

        for(i=0;i
收藏 评论3 发布时间:2013-4-28 11:45

举报

3个回答
sacq12 回答时间:2013-4-28 14:20:04

RE:【STM32F3手记】山寨的山寨测线器

噢 测网线通断的
阿呆 回答时间:2013-4-28 15:31:33

RE:【STM32F3手记】山寨的山寨测线器

楼主真棒,顶!!!
zykzyk-93033 回答时间:2013-4-28 23:04:03

RE:【STM32F3手记】山寨的山寨测线器

哈哈

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版