一款深藏功与名的国产单片机——F1C100A
说到单片机,可能首先想到的是atmel的at89c52,这多亏了大学教材的传承发扬。从我们的老师的老师,用到我们,说是大学的传家宝都不夸张。然后,就是现在大规模流行的STM32单片机,经过ST每个季度的峰会和国内的野火、正点原子等厂商的大力推广,电子专业从业的工程师只有两种人不知道它,那么是特别牛逼的,要么是装逼的。但这里要说的是一款国产的单片机,很低调的一款------全志的F1C100A。
F1C100A
1、资源
从这款IC的数据框图来看,粗略的可以得到几个点:
A、支持高清解码,分辨率为1920*1080。这是个什么概念呢?咱们可以打开笔记本电脑,如果是win10系统,那么咱们的最高分辨率就是这个。
但是,不仅仅是解码,它还支持编码,也就是可以录像,分辨率为1280*720。虽然不是专业的录像机IC,但这个分辨率也很实在了,已经有点那会彩电的感觉了。对比STM32F1系列的单片机,虽然也能图形处理 ,但也只基于静态界面。
B、作为单片机,USB、SPI、Timer、TWI(就是平常的IIC)都是有的,而且还有IIS接口,可以接个话筒,这个功能不是低端应用的单片机能有的。不过STM32F1系列的MCU,这些外设都有。
C、cpu已经具有了I-cache和D-cache,本身来说这两者有一定的区别,但是这里都看做cache来说,都是SRAM。因为CPU从这个里面读数据特别快,所以将它作为DRAM到CPU的一个仓库。
既然有了SRAM那么DDR的控制是肯定不会少了,不然怎么跑Linux系统。说到Linux系统,STM32H7系列也是可以跑Linux。
说了这么多,咱们来看看价格 全新原装解码芯片 F1C100A C100A (带A)TQFP128------9.50元 、STM32F103C8T6 LQFP48 ARM芯片 嵌入式微控制器------7.50元 、STM32H743VIT6 LQFP100 ARM 32位微控制器芯片原装正品------58.95元 。
这个IC价格完全可以在30元以内跑起最小开发系统板,自己打板子的那种。
F1C100A的系统框图
2、资料
既然这IC支持Linux系统,那么有没有开源社区在做开发呢。是的,还真有那就是荔枝派Nano 。荔枝派Nano的主芯片—全志F1C100s;Arm9架构,16KB D-Cache,32KB I-Cache,支持从SPI Flash或TF卡启动,支持USB OTG载入更新。官方的宣传更加厉害,9.9元起,这个核心板就是一块STM32F1ZET6的价格。那么,我们来看看这个9.9元买到的板子怎么入门。
荔枝派nano
因为是开源社区,所以板子的基本操作官网(http://nano.lichee.pro/)都有,其中包括系统适配篇、驱动开发篇、应用开发篇。依靠这些资料进不了华为,进不了阿里,但是入门个Linux应该是可以的。高级不高级不知道,但是价格亲民哪,9.9元入门Lniux 。
荔枝派官网
3、应用
学习的目的不是学习,而是应用,不然谁知道学得怎么样。接下来介绍一款应用,各位绝对见过,只是没有细究------看戏机。
第一张图是看戏机的背面,标明了输入电压和输出功率。为什么还有个输出功率呢,外接喇叭的,或许是为了可以大家一块听戏。
背面
第二张图是看戏机的正面,两边按钮,中间屏幕,有点游戏手柄的感觉。看这画质,是不是能够感受到这满满的年代感。
正面
最后一张图,咱们来看看内部电路,能够看到USB接口、miniusb接口、耳机输出接口,最明显的就是F1C100A和海力士的内存了。
主控IC
这个设计不能说是复杂,但是很精巧,确实不浮夸。
最后的话:
看到这些,是不是有种用F1C100A玩Linux的感觉了。
用FlexLua低代码单片机快速实现TF卡的读写增删功能
TF 卡读/写/删除
基于 FlexLua 低代码单片机技术,脱离复杂单片机C语言开发正逐渐成为一种快速高效的 IoT 硬件开发方式。即使新手不懂单片机开发也可很快很容易用FlexLua零门槛开发各种 IoT 硬件,更多教程请参考 FlexLua 官网。
注意:仅 ShineBlink C1 开发板 带 SDIO TF 卡接口,C2不适合本教程(C2 仅能通过内部 Flash 模拟出一个 1.6M 的极小 U 盘)。
一、实现功能
将开发板插上一张 8GB 的 TF 卡后,通过 USB 线将开发板和电脑连接起来:
功能1,写操作:每隔0.2秒向TF卡上的test.txt文件中写入10个数据(0-9)功能2,读操作:上面的写操作循环执行20次(4秒)过后,再读取test.txt中的内容并通过print打印出来。功能3,删除操作:上面读操作完毕后,删除test.txt文件,最后主程序结束。二、材料清单
TF 卡,容量(32GB 以内),最好是class 6 以上的 TF 卡三、完整代码
docnt = 0data = {0,1,2,3,4,5,6,7,8,9} --写操作: 连续20次每隔200毫秒,每次向test.txt写10个数据 --如果test.txt不存在,会自动创建。如果存在就接着原来文件的最后面开始写入for i = 1, 20 doLIB_DelayMs(200)cnt = cnt + 1LIB_Fwrite("test.txt", data)end --读操作:从刚才的test.txt文件的起始地址0处开始读取最多256字节的内容,如果不足256返回实际数目--read_number:整数型 表示读取的数目,read_content:table类型 存放读出的内容read_number, read_tab = LIB_Fread("test.txt",0)if read_number > 0 then--concat是Lua table类的自带函数,用来合并所有元素print(table.concat(read_tab))end --删除操作:最后删除test.txt文件LIB_Fdelete("test.txt") --停止Lua线程while(true) doendend
如果感兴趣,上面代码中出现的LIB开头的库函数可以在 API文档 中通过Ctrl+F查询。
四、代码运行结果
最后我们在 TF 卡的 LOG.TXT 日志文件里可以看到我们刚才 print 输出 read test.txt 里的内容,和第一步写入的 200 个数据内容完全一样。
相关问答
单片机tf 1啥意思?1.单片机TF1指的是常用的单片机定时器中的一个Timer/Counter1。2.Timer/Counter1是一种用于测量和产生精确时间间隔的电路。其能够通过模式控制对计数器进行...
单片机 定时器/计数器中的 TF ,TR表示什么?TR是中断启用设置,只有置1了这个中断才有效TF是中断申请标志,一般由硬件管理,使用者可以不管它TR是中断启用设置,只有置1了这个中断才有效TF是中断申请标志,...
单片机 的psw是什么?程序状态寄存器PSW。程序状态寄存器是计算机系统的核心部件——运算器的一部分,PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,如有无进位(...
80c51 单片机 的片内,片外存储器如何挑选-ZOL问答80c51单片机的片内、片外存储器的选择:80C51单片机的EA’引脚为访问内部和外部...TF卡等。如果没有后缀的话,AT89C51只要4K如果有后缀的话,比如AT89C51RB2,那...
物联网如何推动万物互联?我是王海军老师,专注于互联网技术教学,乐于解答大家相关问题。感谢邀请,下面我想从物联网教育层面来详细解答!1、物联网课程培养方向本专业是培养拥护党的...
c语言的程序怎么烧进stm32里?通过以上三种方式即可实现将C语言程序烧写进STM32里,从而让单片机执行程序代码。以上就是这个问题的回答,感谢留言、评论、转发。更多精彩内容请关注本头条...
KEIL怎样表明二进制!51. 单片机 -ZOL问答卡平板电脑更多KEIL怎样表明二进制!51.单片机举报5人讨论4817次围观关注...回复dstfjeilfaxn比如说20,用二进制表示为00010100,十进制20,十六进制1...
51 单片机 在初始化程序中把T0和T1两个定时器都开启时,T1的中断程序具体是什么时候进行的?T0的中断程序执行完之后,若没有比T1的中断更高的中断,则执行T1的中断程序,因为,若不人为的清除T1中断标志位TF1,不执行中断程序,硬件不会清除TF1位谢谢,...T...
盆友们!问大家一下 led数字电子时钟工作原理?[回答]电子钟相关毕业设计·数字电子钟的电路设计·数字电子钟的设计与制作·数字钟的设计·基于8051单片机的数字钟·基于单片机的电子时钟控制系统·数...
在座的同志!有没有谁了解!!什么是模拟屏配电柜?,调度模...[回答]一般远动装置是单独组屏的。应该区别于一般的控制保护屏。组屏需要按照当地供电部门的要求和做法。远动装置是电网调度自动化系统重要组成环节,主站...