嵌入式
文章平均质量分 90
MCU/DSP编程中的经验总结
finhaz
勤奋是学习的保证
展开
-
基于WPF的c#上位机制作
研究了下wpf下设计上位机,希望把界面做的更美观,不过目前暂时停止开发与维护了,因此,wpf做的上位机仅限于界面设计,相关的源代码公开到github和gitee上面,希望给大家提供思路。这里的思路主要是界面设计方面的思路。原创 2022-10-26 19:51:41 · 7414 阅读 · 2 评论 -
simulink代码生成
基于模型的设计概念基于模型的设计(Design Based on Model),可简称为MBD,以MATLAB等软件为平台,让工程师在可视化开发环境中,一边进行需求分析、算法研究、模型与需求分析的双向跟踪、模型验证与优化;另一边进行自动生成C代码的软件在环测试、处理器在环测试、代码的有效性分析、代码与模型的双向跟踪、代码优化、硬件测试等,让算法到嵌入式实时C代码的生成一步到位、一次成功,避免传统开发MCU器件,前期投入大、开发周期长、一般需要重复多次才能成功的弊端。这一程序设计方法,又被称为快速控原创 2022-05-13 15:48:13 · 4918 阅读 · 0 评论 -
labview混合编程学习
由于开发需要,上位机需要采用labview设计,但是之前研究算法主要靠matlab或者python,因此考虑采用labview混合编程的方式。目前,界面设计采用Labview,而算法部分采用Matlab或者python,即采用混合编程的方式设计电池检测系统的上位机软件,要求开发的电脑上同时安装以上软件。目前的开发环境的版本:LabVIEW 2019 32bit中文版MatLab R2018b以上版本python 32bit软件安装与配置labview安装安装32bit的labview2019原创 2022-02-05 18:35:35 · 3382 阅读 · 0 评论 -
基于WinForm的c#上位机制作
在嵌入式开发或是其他学术研究时,有一个自己设计的上位机可以方便自己的研究,比如嵌入想要的算法,或是发送特定格式的通讯数据。由于以前学过c#,加上它和c语言接近,平时开发也以c语言为主,因此选择了c#作为设计语言。上位机界面开发环境配置用微软的VS2017(VS2019)开发而成,该软件可以通过微软的在线安装工具来安装,一般选择VS社区版就可以满足大部分的开发需要,只是需要注册微软账户来激活开发环境。以VS2017为例,当然现在已经换了2019开发组件只需要选择.net桌面开发即可,C++那个只要原创 2021-12-25 21:16:54 · 22178 阅读 · 26 评论 -
铁电FM25CL64读写
铁电体比EEPROM读写速度更快,且该芯片的接口是SPI接口,本质上DSP的数据存储,属于SPI主从机数据交互。DSP做主机时会控制通信的时钟,铁电模块FM25CL64作为从机是不能产生时钟的。如果从机要发送数据,那可以在主机发送数据的时钟上发送数据,这也就是主机DSP读取数据时的虚写/伪写操作。铁电模块操作码#define Read_CMD 0x0300 //读25LC640命令0000 0011#define Write_CMD 0x0200 //写25LC640命令0原创 2021-01-29 10:44:59 · 4852 阅读 · 0 评论 -
DSP28035的CAN通讯程序
CAN通讯设计DSP/MCU的CAN接口是指芯片外设中的CAN总线控制器,其输出电平为TTL规格,如果直接将两块芯片的CANRX、CANTX引脚连接,无法实现CAN通讯。SAJ1000、TJA1050芯片是属于物理层芯片,将TTL电平信号转换为符合CAN规范的差分信号,从而实现CAN通讯。因此,上位机与DSP进行CAN通讯时,相比于基于SCI的串口通讯,需要多加一个收发芯片模块。将DSP/MCU的CANRX引脚接入模块的RX,CANTX接入模块的TX,从而将TTL电平信号转为CAN通讯的差分信号CANH原创 2020-11-08 22:58:32 · 7770 阅读 · 0 评论 -
DSP28335/28035程序烧入flash经验
网上常见的教程 在DSP程序烧入flash后,为了使得程序运行时间和ram中一样,需要将程序搬运到ram里面。网上通常教的方法是利用memcopy函数,将需要搬迁到Ram的函数从Flash搬运至Ram中。在main.c写#pragma CODE_SECTION(adca1_interrupt_isr,"ramfuncs");//指定某函数在ram里运行MemCopy(&Ramfu...原创 2020-02-16 19:35:02 · 5327 阅读 · 0 评论 -
DSP28m35的IPC通讯编程经验
28m35介绍 28m35属于Concerto 系列,这一系列特点是具有异构双核。它同时具有F28x和ARM Cortex M3内核,相关的例程可以在controlsuit中找到。以下TI官网对这一系列的介绍。 Concerto 系列是一款多内核片上系统微控制器单元 (MCU),此控制器单元具有独立的通信和实时控制子系统。 F28M35x 系列器件是 Concerto 产品中的第一系列产品...原创 2020-02-16 12:26:44 · 1254 阅读 · 0 评论 -
DSP28035的CLA使用经验
CLA简介TI的CLA本身是一个加入到28035等DSP的协处理器,可以执行浮点运算,并且有CLAmath库函数,可以灵活执行各种浮点运算和非线性运算。由于CLA为协处理器,可以与CPU同时工作,往往在CLA执行算法,而CPU去执行各种通讯、保护等程序。不足之处是CLA执行逻辑运算的效率较低,但是其对算法运算的执行效率高于CPU。TI提供了CLAmath.lib这一函数库,帮助CLA模块进行运算...原创 2020-02-10 16:03:31 · 20147 阅读 · 6 评论 -
基于NRF24L01的无线串口制作
首先这是一个失败品,无法实现任意波特率和任意间隔时间就通讯,但是也达到了基本的通讯功能,原创 2020-01-20 17:19:30 · 1903 阅读 · 1 评论 -
Modbus协议理解与嵌入式编程实现
通讯协议基本概念通讯协议的概念协议实现通讯协议的概念以modbus为例,大部分通讯协议只是一段软件代码,和硬件是独立的像485通讯、SCI通讯、SPI通讯这些通讯,本身只是一个通讯的硬件层面的叫法。它们可以作为各种通讯协议的载体来进行,然后CAN通讯、以太网通讯比较特殊,有自身的通讯协议,它们基础的通讯协议有can协议、TPC/IP协议这些,但是其他的通讯协议可以建立在这些协议的基础上搭载着...原创 2020-01-19 23:40:16 · 3139 阅读 · 4 评论 -
基于ATmega8的测速计设计
这是曾经本科生时期的制作,一个用atmega8a芯片做的测速计。当时选用atmega8a的原因很简单,学生时代做东西,都是捡到啥芯片就用啥,只要性能还能过得去就可以了。这款单片机性能一般,但是比at89c51强多了(最主要是剩下的多),就是烧写程序时候需要配置熔丝位,一时间不太习惯。整个工程是用iar for avr写的,因为那时候一直用msp430,习惯了iar的界面。首先是选头文件,iom8.h定义了相关的寄存器,装好iar就能用了。//这里是iar里面的#include <iom8.h&g原创 2020-10-03 21:51:09 · 1319 阅读 · 0 评论