自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 GD32移植FreeRTOS+CLI过程记录

之前我只在STM32F0上基于HAL库和CubeMX移植FreeRTOS,但最近发现国产化替代热潮正盛,许多项目都有国产化器件指标,而且国产单片机确实比意法的便宜,所以也买了块兆易创新的GD32F303开发板,试一试它的优劣。虽然GD32F系列基本都可以和同名的ST单片机pin-to-pin替换,程序也通用,但GD自己也开发了一套库函数,基于GD的库函数开发有利于熟悉GD设计的逻辑,对于未来学习GD的RISC-V单片机也有帮助。另外,不用ST的HAL库,也能降低代码量。

2024-01-27 21:04:45 2280

原创 MATLAB求解组合数和所有组合可能

【代码】MATLAB求解组合数和所有组合可能。

2023-05-12 00:38:13 1056

原创 CMSIS/FreeRTOS中队列(Queue)的使用

在有流式数据处理的嵌入式系统中,队列(Queue)是几乎必然被使用的工具,但大多数开发板提供的FreeRTOS例程是不包含队列的,要使用还要自己研究。这次我的样例把串口收到的数据按字节塞入队列,再让另一个线程处理,是一种相对画蛇添足的做法,这么做主要目的是说明队列如何使用。队列更适合用来处理ADC/DAC采样数据、通信模块固定大小的数据包等。这次我仍是使用自制的STM32F0模块实验,与上次一样,我们还是用STM32CubeMX来生成初始代码,在FreeRTOS中添加队列:这里,我设队列的每个项目为ui

2022-01-28 18:15:20 8886

原创 TI-RTOS Driverlib驱动I2C外设实例:CC3200读写PCA9539和BMP180

四年前圣诞节,我抽奖抽中一块CC3200的开发板,并且写了一篇博客,然后就搁置了…主要原因是,虽然这是一块外设齐全的板子,通过底板扩展配了温湿度计、气压计、光强传感器、段式液晶甚至五向开关,但是却只给了核心板的例程,于是外设板就一直无法上手。最近意外的有了一点时间,仔细看了看底板的原理图,发现扩展板所有的外设,都是用I2C总线控制的。I2C也是我的“老朋友”了,之前我用STM8的时候,就调过硬件I2C,并且被其复杂的中断机制困扰不已。事实上,很多时候,使用GPIO模拟I2C,可能都比用单片机的硬件I2C外

2021-12-26 16:38:37 3614

原创 为STM32F0搭建FreeRTOS实录

将FreeRTOS移植到只有8k SRAM的STM32F030C8

2021-12-16 16:04:29 3432 1

原创 梅登黑德定位Python代码

这个周末做了一点不那么难的事情,用Python计算一个经纬度的梅登黑德(Maidenhead)定位代码,也提供根据梅登黑德代码计算所在区域中心经纬度的函数。梅登黑德定位系统是业余无线电最常用的定位系统,通常由两个字母-两个数字-再两个字母表示,这样六个字符可以定位到5’’(经度)×2.5’’(纬度)的网格上,便于通过摩尔斯电码拍发。(截图自http://f5len.org/tools/locator/)下面的程序提供了所有常用的函数,给出计算我所在的位置的例子(main函数)。# Longitude

2021-08-29 21:29:58 1448

原创 基于PyQt5的轻量级UDP调试器

首先,大嘘,要做轻量,出门左转tkinter,用pyqt就不轻了!!!然后,老规矩,github链接,欢迎大家参考:UDP_Recv_Tool今天是理论上的休息日,不想干活了,所以整一个UDP调试器出来:因为偷懒,也因为我们还是做嵌入式为主,要嵌入式系统大量上传数据,UDP就足够了,所以只做了UDP,可以把接收到的数据直接存到指定文件里,还可以适当从"Send Text"编写数据下发UDP包进行调试。这里需要说明,PyQt5提供QThread的多线程,但需要另外写一个类,为了访问主窗口中的控件,还

2021-08-15 22:40:03 355

原创 基于Northwest Logic控制器的SDR SDRAM全页(full page)读写

这次来补之前的坑,SDRAM全页读写才能达到大多数需要外挂SDRAM应用的需求NWlogic的文档说明,在全页读写时,控制器不会自动进行refresh,我们要自己安排。为此,我设计刷新的状态机和读写的状态机分离。刷新前检测是否在读写,读写前则检测是否在刷新。读取结束用PRECHARGE指令来通知控制器和SDRAM。考虑我使用的SDRAM要求的刷新速度是8192/64ms,在使用100MHz时钟时,最多间隔781拍就必须刷新一次。再考虑一次读写256words,因为读写延迟可能多造成10+拍的延迟,故我设

2021-01-14 12:52:59 376

原创 从频域计算信号循环谱

循环谱的计算最大的特点就是复杂,在知网上,嵌入式系统上的快速循环谱计算的文章也非常多。不过在理论分析阶段,只要能加快仿真计算就够了。标准的直接从时域信号计算循环自相关的公式为:Rxα(τ)=lim⁡Δt→∞2Δt∫−Δt/2Δt/2x(t+τ/2)x∗(t−τ/2)e−j2παtdtR_{x}^{\alpha}(\tau)=\lim_{\Delta{t}\rightarrow\infty}\frac{2}{\Delta{t}}\int_{-\Delta{t}/2}^{\Delta{t}/2}x(t+

2020-11-03 16:27:41 6457 13

原创 基于Northwest Logic控制器的SDR SDRAM读写实验

虽然现在DDR4都已经大行其道,但在很多同学FPGA入门的时候还是会使用最古老的SDR SDRAM。这确实足以应付很多对读取速度没有过高要求的小项目,而且依然有供货渠道(大家不要瞧不起拆机件:-)虽然早就有很多直接写SDRAM驱动的资料,但用专业公司的IP核通常更稳健,其中Northwest Logic编写的控制器被最广泛认可,通常买板子只要板载SDRAM,卖家都会附上这个核的代码。但它仍然只是接口,需要设置合适的参数,并按照合理的时序才能正常运行。最近我玩了一下这个接口,并通过Signal Tap 观察

2020-08-28 09:44:12 442

原创 基于python的tkinter和pyserial的简易串口调试器——实现与详解

太长不看版:本文程序github链接串口自环实验图(发送Aloha Oe):契机最近偶然碰到一个项目,需要写一个PC端的单片机上位机通信和演示程序。项目原来的工程师们是精于单片机、FPGA和模拟电路的高手,却对GUI束手无策。辣鸡博主也一样,除了早已忘光的MFC和并不实用的javafx,也没做更多GUI方面的工作了。然而当时我考试紧张,正和Markov Chain做殊死搏斗,也就没有参加。...

2018-11-25 17:16:21 10669 8

原创 STM8L051的硬件I2C调试

I2C是现代一种极为常见的低速外设通信协议,比起SPI或者UART,它最大的优势应该就是节省芯片管脚了:理论上只要地址够用,多少外设挂I2C总线上都没问题,只占两个管脚。但也因此,I2C的协议就相对复杂一些,以面对多个外设。同时,过多的外设也使得通信速率难以提升,一般只在100kbps或以下。本文不专门介绍I2C的时序和协议,而介绍我在调试STM8L051的硬件I2C的过程以及遇到的问题,和大家分...

2018-08-23 01:31:18 6217 1

原创 关于HML要玩物联网这件事 之 CC3200 TCP Client

假装是个引言去年TI难得发了次大福利,圣诞节派送CC3200开发板。本辣鸡博主抢得早,加上没落C9.edu.cn 邮箱加持,抽奖居然抽中了。TI不论是赞助竞赛还是送板子,目的都很明确,就是想推广自己的东西。你们看,自从TI垄断电赛之后,全国高校都在设计TM4C的开发板和应用软件了吧!(参加了最后一届瑞萨杯的博主发出了银铃般的笑声^_^) (这就是博主抽中的CC3200开发板) ...

2018-03-16 17:19:07 865

原创 JavaFX初探与MediaPlayer(5)

JavaFX MediaPlayer的常用方法过了一个月,我终于又要更博客啦~ ~ ~ (请大家原谅这个重度拖延症患者~ ~ ~) 今天完结撒花啦~ ~ ~ 为了方便那些嫌太长不看的,我留下github: MediaPlayer_JavaFX - A simple Media Player on JavaFX 上次我们放出了早就被奶爆的京紫,但一个视频播放器显然不能这么简单。我们通常要

2018-02-15 17:32:47 5367 11

原创 JavaFX初探与MediaPlayer(4)

终于要放视频了!!!从第一 次博客我就说要放视频,然后一直拖,一直拖。。。然后考试加磕盐加旅游。。。结果年都过了我还没把视频放出来。。。 (拖延症害死人啊!!!!)今天我们真的来播放视频。JavaFX提供Media类用来表示多媒体(音视频),用MediaPlayer类播放音视频,再用一个MediaView类显示视频。它们都在javafx.scene.media中。使用时大致关系如下: Media

2018-01-15 10:27:06 7728 6

原创 JavaFX初探与MediaPlayer(3)

ImageView 查看图像和动态调整对象位置大小今天我们开始向多媒体迈出一大步:查看图像。JavaFX提供了用于查看图像的类 javafx.scene.image.Image 和 javafx.scene.image.ImageView。javafx设计的初衷,就是要方便构建互联网应用,可以想见,javafx的图像类,也肯定能(而且就是为了)查看互联网的图像的。JavaFX的文档中,关于Image

2017-12-15 15:34:07 2001

原创 JavaFX初探与MediaPlayer(2)

JavaFX的Button、事件和lambda表达式上次我在gakki女神的盛世美颜推动下首开博客之后,滚去画了两天电路板(虽然并不可能制出来),然后就想不到接下来该写什么了。我的目标是写到MediaPlayer完结,但HelloWorld之后才知路漫漫。既然JavaFX是GUI,GUI是UI,就肯定要和用户交互。那正常程序员人想到的肯定都是按钮Button了。Button是图形化的,但又通常只完成

2017-12-05 22:21:30 1017

原创 JavaFX初探与MediaPlayer(1)

JavaFX初探与MediaPlayer连载博客(1)

2017-12-02 13:55:54 1887 1

sdram_nwlogic.zip

基于Northwest Logic控制核的SDR SDRAM实验代码,在Cyclone IV上运行并通过Signal Tap II 观察时序,便于移植

2020-08-27

空空如也

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

TA关注的人

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