自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 问答 (1)
  • 收藏
  • 关注

原创 STM32快速复制MX25L1606E系列Flash

生产部门表达了不满,我本想给他们解释原因,但后来想与其和一些不懂技术的人瞎争论、浪费时间,还不如想点实际的办法。2、擦除MX25L1606E上的相关块和扇区,比如:本程序一个扇区用于保存事先计算好的校验和及总的升级包长度,一个块用于存储实际的新的升级固件,一个块用于保存旧的在ROM中运行的程序。3、根据客户软件协议要求,RS485通信需要将一个字节拆分成两个字节进行传输,例如:如果要发送0xAB,则会拆分成0x3A和0x3B两个字节,接收处理程序再将这两个字节合并成0xAB,这无疑使数据的传输时间加倍;

2024-01-15 10:17:34 1008

原创 DALI1.0学习——BIT解码

那我们来看一下当接收地址和数据的BIT时,bit_index_temp是不是奇数并且对应的BIT是否正确,如图4所示,当起始位的上升沿产生后bit_index_temp被设置为1,然后从。根据边沿跳变触发时间将bit_index_temp加2或者加1,我们可以看到bit_index_temp确实是在每次为奇数时才读取接收到的BIT,为节省空间在图中我把bit_index_temp改为了bit_idx。是解码接收到的BIT值并赋值给地址变量dali_rec_addr和数据变量dali_rec_data。

2023-12-06 14:41:58 1074

原创 Y-MODEM协议定制上位机

刚开始也不知道从哪里下手比较好,刚好我手边有个逻辑分析仪,之前我就是用它抓取了PIC18F45K80官方程序UnifiedHost-1.19.0使用Ymodem协议和RS485发送给单片机的升级程序内容才成功制作了升级文件。单片机上的软件已经完成了,一般是使用secureCRT这样的工具作为上位机,后来想自己做一个定制化的简单的上位机。证明单片机接收文件有问题,我试着运行新程序,果然没有成功。于我抓取了secureCRT和本程序发送的数据,经过对比发现是第一帧数据不同,就是文件名称和长度这个数据包。

2023-11-24 14:45:07 1228

原创 国民技术Cortex-M0系列单片机IAP升级

使用野火的STM32开发实测过是没有问题的,于是在它的基础上进行修改,移植到N32G031系列单片机中来,经过一番折腾还是弄好了,现在把相关内容分享下,另外资源可以在以下链接中下载,无需积分。考虑到设备部署到现场后有可能需要进行软件升级,之前做过PIC系列单片机的升级,现在想做个国民技术N32G031系列Cortex-M0内核的单片机IAP方案。其实也很简单,主要就是串口和RS485相关引脚的初始化,串口这里没有使用中断的方法。相关外设初始化完成后就会进入主菜单,根据用户输入的值进行不同的操作。

2023-11-17 20:06:37 1110

原创 国民技术N32G031系列Flash数据存储

3、初始时从Flash页的指定位置读取数据(位置根据计算得到,就是找到第一个连续4个0xFF的位置),并存储在两个变量中A和B中,此时A和B中保存的数据是相同的,运行时如果上位机执行了导通和断开操作会改变B变量相关成员值,当while大循环检测到A和B的值不同时,则用B的值设置A变量,并根据计算的地址写入Flash页中。Flash每页有512个字节,每4个字节写一次,则一页可以写入128次,整页写完,继续再写时才擦除页,重新从页的起始位置写入数据,如此反复,这样可以大大减小Flash页的擦除次数;

2023-11-03 20:17:11 247

原创 中微CMS8S3680/69xx系列单片机

另外它的存储器资源也是很丰富的,16K字节ROM,256字节RAM以及512字节的XRAM,对于一般的程序是绰绰有余了。4、demo_adc.c:主要是ADC检测及NTC贴片电阻不同阻值下对应的AD值表,然后程序根据AD值表获取相应的温度信息。AD取样每两毫秒进行一次,12V输出电压共检测16次,温度值检测共8次,然后取平均值。12V /53V输出异常出高(电源风扇异常、输出过压、输出限流、输出短路、电源过温保护)输出>13V,4脚出高(打嗝保护)(3V保护,2.8V恢复正常)

2023-10-30 19:37:00 5177 4

原创 国民技术N32G031系列单片机编程

最近使用国民技术N32G031系列单片机的项目较多,功能较为简单,写这篇文章主要是为自己的学习做个总结。3、使用UART/RS485接口供主机读取各种电源及8路输出的通断控制。2、使用I2C接口作为从机供主机读取各种电源状态及8路输出的通断控制;好的,其他的不多说,直接上源代码。1、控制电源8路输出;

2023-10-18 09:49:59 162

原创 PIC12F510作为PMBus主机

根据公式:Voltage = V * 2^N,这其中V就是我们需要设置的值,查模块手册,N = -9,以设置45V输出电压为例:45 = V * 2^-9,求得V = 23040,也就是我们发送给模块的值。风险的提示,这个之前没有遇到过,为了避免这个潜在的风险,有些地方我直接去掉函数调用而直接将代码写到一个函数里,虽然结构看起来乱一些,但项目小,没有必要搞到那么层次清楚。用于发送模块调压指令,但由于有硬件堆栈溢出风险,故没有单独写成函数,而是直接将里面的代码放在了需要的地方;//将SDA恢复为输出模式。

2023-10-16 16:06:26 238 1

原创 国民技术N32G031系列单片机的AD采样

用过一段时间的国民技术N32G031系列单片机,编程模式几乎类同STM32系列(另外一个国产单片机品牌兆易创新好像也是仿STM32的编程模式,看来STM32的确是一款极其优秀的产品),但是价格实惠,功能也很齐全,软件支持包在官网都可以下载,所以总体感觉还是不错的。

2023-09-22 12:01:52 666

原创 PIC16F18323电源控制软件

输入欠压恢复:此脚电压≥1.67V(对应输入35V),7脚输出高电平(开继电器),延时100mS后,5、9脚同时输出低电平(开-12V、+12V),再延时100mS,8脚输出低电平(开50V),6脚输出高电平(输入告警解除);输入过压恢复:此脚电压≤3.57V(对应输入75V),7脚输出高电平(开继电器),延时100mS后,5、9脚同时输出低电平(开-12V、+12V),再延时100mS,8脚输出低电平(开50V),6脚输出高电平(输入告警解除)。开环保护模式:-12V开40mS,关3S,打嗝模式。

2023-09-20 10:47:27 168 1

原创 STM32实现PMBus从机程序

另外我还参考了德州仪器的一篇基于TMS320F2803x系列单片机PMBus协议的实现,包括主机和从机程序(源程序和文档下载地址:http://www.ti.com/lit/zip/SPRABJ6,文档的截图如下)。

2023-09-19 20:08:55 1285 6

原创 关于35岁以后身体焦虑问题

不知不觉中身体机能的确和年轻时差别很大。年轻时晚上怎么吃体重都很难增加,代谢明显很旺盛,但是过了30岁后如果不经常运动体重飙升很快。我身高1米7左右,30岁过后最高体重曾达到76公斤,那时候只有周末打篮球运动一次,如果周末都不运动,那我简单不敢想像自己会变成什么猪狗模样。对于目前的工作我觉得还是能胜任的,平时也就是写些电源管理方面的单片机程序,难度不是特别大,由于不是科班出身,所以还得学习电源方面的相关知识,奋斗是不能停止的,只要活着一天就要学习一天。

2023-08-14 17:42:24 80

原创 PIC18F45K80系列MCU固件升级方案

借鉴Microchip的Bootloader在PIC18F45K80系列单片机中实现RS485固件升级

2023-04-17 09:36:03 777

原创 2017随感

最近一段时间心思基本都不在工作上。今年春节前,由于没有人照顾小孩,所以向公司申请在家办公,公司也同意了,只是时间上不能超过一个月。小孩还没有放假,上午送完小孩回来已经快9点,下午4点半左右再去接回来,回来后就要陪小孩玩了,还要准备晚餐了,中间的时间可以自由支配,但我发现工作效率不高,似乎也没有在办公室上班的节奏。白天除了挂上Skype,查下邮件,基本都没做其他事。今年的春节假期足足有二十多天,...

2021-06-23 16:38:49 89

原创 C语言知识点总结3

C语言测试:嵌入式程序员必须知道的16个问题pcbomb 发表于 2008-10-9 13:39:00 阅读全文(1981) | 回复(2) | 引用通告(0) | 编辑C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的

2017-05-15 11:40:05 731

原创 2015年终总结

又到了年末,从前两年开始,每到年末都会写个总结,内容不外乎就是这一年来自己的工作、生活情况,然后设定新年的目标,以更好的心态迎接新的一年到来!这一年跟以往不一样,有一件事情占据了我很多时间,也影响到了我的工作和生活,这就是我开始了投资理财。以前买过几本理财方面的书,但一直没有付诸过行动,作为一个现代人,不懂理财的确有些像文盲,虽然不是纯粹的,货币贬值,财富缩水活生生的就发生在自己眼前。于是

2015-12-28 17:20:05 823

原创 这一年的投资

大概去年8月份的时候好朋友喊去他家玩,他老婆是平安集团的,向我们推荐了一款平安集团的叫做“壹钱包”的手机APP,当时应该是在推广期,我下载了软件并注册了,打开看了下,并按照他们的方法加了几个好友,当时以为只是普通的社交加买保险之类的应用,似乎对我意义不大,就很少再打开了。后来朋友说这个APP可以买理财产品,钱放在里面年化收益率高达7%,而且还是可以随时取现的,比放活期划算多了,我想起了理财这回事,

2015-12-21 14:44:44 1308

转载 怎么学习编程

首先作为一个优秀的程序员,数学是十分重要的。数学是自然科学的基础,计算机科学实际上是数学的一个分支。数学主要能让人懂得一种分析问题的方法,然后再通过编程去实现它。计算机内部的许多原理也都牵涉到比

2015-10-30 11:38:20 457

转载 C语言中八进制和十六进制怎么表示以及原码、反码、补码、C语言按位取反运算符~

C语言中8进制和16进制怎么表示C语言本身支持的三种输入是:1. 十进制。比如20,457; 2. 十六进制,以0x开头。

2015-10-30 11:32:04 18789

原创 C语言知识点总结2

继续我的C语言学习与总结,今天会探讨以下问题:1、关于无符号数据类型与有符号数据类型的加减和比较大小的问题这个问题我也一直比较模糊,关于加减法我做了如下测试,代码如下:signed int x=-50;unsigned int y=-40; signed int z=x+y;变量z的结果为0xFFFFFFA6(我使用的是STM32系列MCU,int数据类型是32位的),这是保存

2015-09-17 16:26:36 487

原创 忆丹(ZD916)

我认识她是在高中三年级,因为分班到了同一个班上。她是个很文静的女孩子,笑起来特别可爱,看着她笑不论你有什么烦心事都会马上觉着开心,是我喜欢的那类女孩子。我已记不清第一次和她说话是什么时候,但是是很开心的,说完几句后大家会有一些沉默,好像找不到话题了,而且那时在上学,似乎除了学习其他讨论的较少,特别又是和异性同学,我也不是善言辞的或是甚至大家都还略带着些羞涩。渐渐地我似乎对她有一些好感了

2015-09-01 11:40:55 858

原创 我的高中时代──纪念1995年进入高中20周年

“其实不想走,其实我想留,留下来陪你每个春夏秋冬……”,每当听到这首歌,就会情不自禁地想到1996年的春天,唤起我对高中时代的回忆,怀念自己逝去的青春。20年前的1995年我中考成绩不理想,比全校第一的成绩少了100多分,只能读个一般的高中。暑假的时候,听家里人说我奶奶的一个亲弟弟(按照辈份和乡俗,我应该称他为舅爷爷)在我们县城的文教局任职,于是我的父母就想托关系把我转到县城的高中就读。说...

2015-08-18 12:54:23 3545 1

原创 C语言知识点总结

最近读了几本关于C语言的书,受益良多,也确实认识到自己真实的C语言水平还在低水平徘徊啊,而且真正的熟练掌握C语言还有很遥远的距离,感谢这些大师们,我会坚持至少把他们读10遍以上的。这几本书也是比较经典的C语言学习和参考资料,分别是:《C专家编程》、《C和指针》、《C陷阱与缺陷》及《C语言深度剖析》。

2015-03-02 14:16:54 663

原创 STM32中nRF24L01的使用

最近在一个项目中用到了nRF24L01这个无线2.4G收发芯片,项目中有主机和分机,默认都是使用数据通道0,主机通过nRF24L01发送数据后,对应地址的分机在收到数据后会返回一个确认数据包给主机(注意:这个确认数据包并不是nRF24L01自动应答时的数据包,而是自定义的一个数据包,说明了就是双方都能进行收发),在经过长时间的摸索之后,终于将接收和发送都调通了,基本的SPI驱动我使用的是正点原子的

2015-01-23 15:35:09 9292

原创 STM32中关于JTAG复用的问题

STM32中关于JTAG复用的问题

2015-01-16 15:51:25 5010 1

原创 ABCpdf控件迁移到windows server 2012

ABCpdf控件在windows server 2012中的设置

2015-01-16 14:05:41 2008

原创 STM32中使用MMA7660重力加速度传感器

STM32中调试MMA7660

2015-01-16 11:46:42 4355 2

原创 这几年

时间过得太快了,特别是年龄大了以后总感觉时间过得好快。很惭愧,我之前没写过技术博客,算是一个不合格的程序员,而且是很不合格的,而我在12年之前的程序员之路的确也算得上是不合格的,那几年可是我生命中最为年轻和宝贵的几年啊!可就是被我在碌碌无为之中挥霍掉了。12年之后到现在对我来说很重要,我也是把它当成一个转折点,现在我就来梳理一下这几年我的工作和生活

2015-01-09 14:27:06 2330 1

STM32快速复制MX25L1606E

用于快速复制内容到MX25L1606E系列Flash

2024-01-15

国民技术N32G031使用YMODEM协议实现IAP

1、基于STM32F10x的官方的YMODEM协议来移植到N32G031中; 2、使用RS485方式,和串口方式基本一样,主要是控制好收发方向; 3、需要注意:N32G031系列没有类似STM32直接设置中断向量表偏移的函数和成员SCB->VTOR,在用户程序中必须要设置好,可以到官方网站上去查找; 4、在进行RS485通信时必须要注意USART_FLAG_TXC标志位的检查,这是一串数据最后一个字节发送完成的标志,只有它置1才表示数据全部发送完成,光检测标志位USART_FLAG_TXDE还不够,这里一定要注意,否则会发生莫名其妙的问题; 5、根据单片机FLASH的容量和PAGE的大小合理设置相关参数;

2023-11-17

STM32F103系列作为PMBus从机

1、参考了德州仪器的一篇基于TMS320F2803x系列单片机PMBus协议的实现; 2、参考了以下关于STM32中I2C从机中断的处理程序: https://blog.csdn.net/ShenZhen_zixian/article/details/131406719 3、资源的详细介绍请参考我的一篇博客:https://blog.csdn.net/jmmx/article/details/133039123#comments_29637605 4、为快速开发此示例程,是用原来的一个工程复制而来,里面有一些其他内容,比如485通信等; 5、程序只是实现了部分PMBus从机程序,其他的可以根据自己的需要来进行改善。

2023-11-07

STM32作为I2C从机的PMBus初步实现

之前一直想做个PMBus协议的从机程序,在网上找到了一篇关于德州仪器的TMS320F2803x系列单片机PMBus协议实现,包括主机模式和从机模式(相关文档和源程序都在资源中)。然后参考了网名为“柒壹漆”大咖的一篇关于STM32实现I2C从机程序的博客,博客地址:https://blog.csdn.net/ShenZhen_zixian/article/details/131406719#comments_28784238,在此对柒壹漆表示感谢!我这里PMBus从机的实现也是在德州仪器的那边文章基础上构建的,芯片型号:STM32F103VET6,使用的是硬件I2C和中断法,针对不同的中断事件进行程序编写。PMBus框架都有了,可以在此基础进行功能的增减。这其中有个问题:当主机发送广播地址,这个从机会卡死,经过调试事件响应在I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED,不知道是什么原因,还望各位高手提出一些宝贵意见,我好将程序加以改进。另外,如果有中文路径或者中文注释调试退出时老出现错误,所以一些注释使用了一些简单的英文。

2023-09-19

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

TA关注的人

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