作者: arya142

stm32 f103用TM1637驱动数码管

其中读键部分,无符号变量参与右移运算,然后把无符号返回成有符号变量。因为是改的TM1638的程序,不知道为毛他这么搞,所以把类型改成有符号的了,结果出错。搞了半天才搞明白:有符号变量右移的时候,如果是正数左边填0,如果是负数,左边填1。这是基础的东西,结果搞了半天。接下来还得复习一下C语言了。

接线啥的参考手册。TM1637和TM1638不一样,TM1638驱动共阴数码管比较方便,TM1637驱动共阳数码管比较方便。另外TM1637供电电压是5V,高电平低值为0.7VDD,也就是3.5V,而我这个f103是3.3V的,但是很多端口都耐受5V,所以找了一个可以耐受5V的端口,用开漏输出,上拉10k电阻,顺便还可以直接读键。另外那个数码管的时钟点,真的是麻烦,TM1637的SG口只有8个,偏偏这两个时钟点的阳极是连在公共点上的,所以只好再浪费一或二个单片机IO口了。时钟点部分没有写,反正也简单的。下面是TM1637.c的内容。很简略,下次用得上的时候再说。

阅读更多

stm32 PWM调节有延迟

今天遇到一个问题,PWM输出时,如果使能exti外部中断,PWM空占比的调节有延迟。刚发现问题时表现为呼吸灯乱跳,psc的值0还好,但也肉眼可见,设置个二三十就延迟严重,阶梯性的跳亮度。设置一千多就完全找不到亮度变化的规律了。原本以为逻辑上搞错了,检查了一下发现没问题,然后看初始化部分,对照教程来看也没啥问题。然后翻出400多大洋的F407,例程是没问题的,我这个就有问题。因为就是瞎搞,所以我的test project里面是include了一大堆,然后把所有的多余部分都注释掉,发现也能正确运行。然后就一个个试,发现是exti的问题。把中断处理函数的内容都清空,只剩一条清除挂起位,也还是不行。然后我就加了个串口调试,发现psc的值变化是正常的。本来么,换一个端口就没问题了,不过问题还是没有解决,心里实在是痒的慌,到这里碰到瓶颈了,换了一个端口TIM4的,发现问题没有出现。又去查资料,发现 TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); 这条,Enable是要等到下个周期才会变化,Disable就会立即变化。之前问题算是解决了。不过问题又来了,为毛设置为Enable的时候,不使能exti就没问题,使能了就有问题?!不过这个问题先留着下次再研究吧。等看到一定程度回来可能会比较好。现在这一块对我来说有点深入了。

PHP获取动态IP并记录到文件

更新版:PHP获取动态IP并记录到文件(第三版) – arya142!

花生壳的DDNS虽然稳定性比以前好了很多,不过总是在重要时刻抽风,需要用到的时候就是连不上。所以一直想换一个DDNS但找不到稳定又免费的。正好有一台vps,所以想先凑合一下搞一个显示当前动态IP的东西。接下来准备研究一下namesilo的API。家里用的是ROS,GET方式的参数传递还是可以用的,据说新版可以用POST。VPS是外国的,装了PHP,所以就写了一个PHP页面,把动态IP数据写入到一个htm文件中(PHP是完全不会的,只会找PHP手册一个一个抄)。访问这个php文件,就可以把内容写到test.htm中。如

http://xxx.xxx.xxx/test.php?ipaddr1=192.168.1.1

代码如下:

阅读更多

最近刚开始学习单片机

最近淘宝买了一块正点原子的开发板,400多块钱。显示屏我嫌贵,将近200块钱,所以在第三方买了一块40来块的,照样用的挺好,就是确实显示效果不咋地,不过我要显示效果来干嘛,呵呵。拿回来了解了一下单片机是怎么回事后,发现好像压根用不着买这么贵的板子。芯片中flash的写入寿命,估计也就两三年。然后我买了一块10块钱的stm32f103c8t6,还有一块面包板和原件若干,总共50不到,然后对着f407的教程慢慢学,有问题的地方网上搜索一下。顺便可以学一下外围电路。感觉初学者不太适合学那种成品开发板,比如我这种,很可能就跑一遍例程就完事了,最后可能啥也不明白,换一块mcu,说不定就抓瞎了。说起来f103和f407的各种结构体定义都不一样,我也不知道为啥不统一一下。当然等学好了说不定就明白为什么了。最近目标是做一块温控器,温度探头和固态继电器和加热器件还得买,淘宝初七才开门。或者可以先用mos管做个小功率的。主要问题还是算法方面,感觉得好好研究研究。正点原子那块板,得等f103吃得差不多了再拿出来吧。也不知道学这玩意以后能不能赚的到钱。

电力猫和三相电

因为之前家里网线抽不动,做无线覆盖没法弄,所以特地买了个电力猫,结果根本没法用,具体现象是插上有信号,一旦有数据就立马弱信号,估计是1kbps都没有,然后就断线了。我一直以为是电力猫或者我家空开的原因。这两天我把电力猫带回老家用,发现用的好好的,一点问题都没有。突然想起来家里面是三相电,弱电箱和客厅肯定不是在同一相线上。这就比较坑爹了。如果需要用肯定还要调整强电箱的电线。

电信用第三方dns有些网站慢

最近升级了200M宽带,新换了一个四千兆网口的软路由,装了ros,最近真的是见了鬼了,股票跌惨了不说,新装的路由器一升级就挂了。卖家态度恶劣,所以没办法只好给了差评。那个msata盘上贴了qq号,发现还是一个群里的朋友,他说这个盘不是他的,索性在朋友那高价买了个正版的盗版盘。在等快递的那段时间,用的是smart6的免费版,本来最近宽带速度有点慢,升级了带宽后也没快起来。下载测速网速又是全的。也没发现是什么原因。反正也不是慢到无法接受,也没去管他。谁知道新的ros盘到了装上之后,发现速度快到飞起来,本来视频加载要四五秒,现在一点秒开。研究了半天,发现还是dns的原因。之前电信dns给网页乱插一些东西,所以换成opendns了,最近又换成阿里的。其实好像阿里的比较慢,opendns的倒是还可以接受。原因么大概是某些网站用的双线的ip,或者是电信用第三方dns某些不能说的问题。这两天用电信自带的dns,发现并没有广告和那个电信的页面,难道电信良心发现了?现在中国的宽带动不动就一百兆两百兆,上传只有几兆,又有gfw,运营商之间的带宽又不是全部通过主干网,还有各种网间的通道,只能说凑合用吧。

制作万能U盘启动盘

之前我用大白菜的启动盘,最近需要备份ros的电子盘,所以格式化重新弄了一个ubuntu的livecd,因为以前的大白菜安装系统有第三方软件的强制预装,然后我找了一下国外的工具,有一个RMPrepUSB,试了下,windows安装和linux没问题,pe我这边那个wim格式的没法用。然后我又找到一个叫easy2boot的,直接把各种iso啊wim啊往优盘合适的位置拖就行,还支持在ahci下安装xp。感觉还可以。至于pe的镜像,可以直接下载老毛桃的装机版和uefi版安装,大白菜的我感觉和老毛桃的完全一模一样,谁抄谁的就不知道了,然后在安装目录的data目录下拷贝两个iso文件到优盘的pe文件夹里面。其实两个版本加起来有3个版本的pe。用这些pe注意别用自己跳出来的安装器安装系统就行了。

解决win10文件浏览器删除或新建或重命名文件不自动刷新的问题

百度真的是坑爹,谷歌一查,发现官网就有解决方案。现附上地址:https://answers.microsoft.com/en-us/windows/forum/windows_10-files/win-10-64-bit-file-explorer-auto-refresh/703492e6-dffb-4344-9699-7e41b2c4ddee?auth=1

顺便翻译一下:

1.打开注册表编辑器。Win+R运行regedit.exe

64位系统的定位到HKEY_CLASSES_ROOT\Wow6432Node\CLSID

32位系统的定位到HKEY_CLASSES_ROOT\CLSID

2.右键左边的CLSID,新建项,名称为{BDEADE7F-C265-11D0-BCED-00A0C90AB50F}

3.在新建的项上再右键新建项,名称为:Instance

4.在右边点右键新建DWORD(32位)或者QWORD(64位)值,同样64位的32位的自己选。名称为:DontRefresh,确认新建的值为0,默认就是0,所以一般不用改。

5.重启电脑,搞定。

图片我就不搬过来了,自己打开链接看。

关于赤道专用10kw以下即热式热水器

最近真是头大的事情都挤一块儿了。前段时间老婆姑姑家装修,说是要买个热水器或者空调送她。然后选了热水器,因为留的地方小,买了个8.8kw的,淘宝上最大功率。当时看评价里都说还行,北方也能用。那我想应该够了,也就没高兴算一下。安装的时候发现电工装的2.5平方的线,还包括取暖器,后来只好从电表沿着外墙拉了一根粗的电线,还好是老房子,外面拉线也不是很显眼。结果过了几天打电话过来说水不热,我过去看了一下,温度能到40度,水流不是很大。我问卖家说退货,卖家一定要说我弄错了,让我调节那个调温阀,奶奶的我能看不出来你那调温阀就一普通阀门,把水关小了当然温度上去了,温度到够洗澡时的流量估计还没我撒尿大。于是把初中物理公式搬出来算,温度从5℃到45℃,8.8kw的功率每分钟流量只有两点几升,普通洗澡要七八升才够。当时卖家说同意退货,但是要包装好。寄过去过了几天卖家又说不能退了,说用过了就不能退货。

这里重点提一下这个牌子,神田,号称上市公司,后来仔细一看,股票代码是啥妈玩意,207开头,不是那种给钱就能上的么。客服那些事我就不提了。这不又给我寄回来了,只有一个机体,啥配件都没有,客服现在都没人回复了。前几天手贱把客服介入的点取消了,这下头大了,不行拿回家放院子里洗衣服用用好了。等过几天老子火大了找律师同学告他们去,315电话没事打几个玩玩。所以这一套我们还需要向上海人学习,真的是不得了。

后记一:目前发现好像是电压的问题。220伏的电压一开热水器就降到205伏和210伏跳动。现在在联系供电局看看能不能把楼外面的线换掉。等有结果了再看看。