OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
楼主: 龙之谷

菜鸟开帖,持续更新90天,顺序学习开发板大部分实验,以此帖作为一个坚持的动力

  [复制链接]

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-4 10:51:10 | 显示全部楼层
回复【350楼】正点原子:
---------------------------------
利用假期充足时间先把基础入门学习了解一下,方便以后一步步学习

越学越觉得自己知识的欠缺与不扎实~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-4 10:59:10 | 显示全部楼层
回复【351楼】龙之谷:
---------------------------------
到了大智若愚的阶段了。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-4 16:41:38 | 显示全部楼层
第六九天  2015年10月04日 10:59:27  周日     例程:STemWin(一)-----无操作系统移植

一、基础知识

1.UI:即User Interface(用户界面)的简称,其设计是指对软件的人机交互、操作裸机、界面美观的整体设计。
2.STemWin是SEGGER授权给ST的emWin版本,而emWin是UCGUI的高级版本。ST芯片可以免费使用STemWin,且STemWin针对ST的芯片进行了优化。

二、EMWIN移植(参照STM32F4 EMWIN开发手册_V3.0.pdf,以下简称EMWIN开发手册)

1.建立移植基础,准备好移植的基础工程

①以STM32F4开发指南第四十二章内存管理实验为基础,作为基础工程;
②根据EMWIN开发手册14页修改步骤123对重名处进行修改;
③将第五十一章FPU测试实验、第五十二章DSP测试实验需添加文件、配置在①基础上进行添加(即EMWIN开发手册14页修改步骤4)。

2.EMWIN相关文件添加

下载STemWin--->解压--->STemWin---->STemWin_Library_V1.1.2---->Libraries---->STemWinLibrary522(使用本文件夹内容);



将上图中红色标记①②③④四个文件夹中文件按照自己个人习惯添加并包含头文件到基础工程中,例程文件添加框架如下



其中各个主要文件功能如下




3.修改工程文件

①修改GUIConf.h文件,对操作系统、鼠标、窗口管理器以及默认字体等信息进行配置,见EMWIN开发手册第19页;
②修改GUIConf.c文件,此文件定义了STemWin所使用的内存,修改为可使用内存管理实验中的内存管理函数分配内存,见EMWIN开发手册_V3.0第19页;
③修改GUIDRV_Template.c文件,此文件要完成STemWin的打点、读点、填充等函数实现,最后还优化了16BPP,这个文件是移植的重点,这个文件代码优化好的话会极大提升STemWin的性能,见EMWIN开发手册第20页;【既然说的这么重要,那么我们以后有时间有能力后值得进行细细研究学习
④修改LCDConf_FlexColor_Template.c文件,见EMWIN开发手册第21页;

【注1】移植过程中,开发手册没有详细指出需添加的头文件,移植完成后,根据报错自行添加;
【注2】修改GUIDRV_Template.c文件时添加了两个变量(如下),开发手册没有明确指出,不添加也会报错。
[mw_shl_code=c,true]u32 UCGUI_LCD_CMD = 0X6C00007E; //地址为0X6C00007E; 0111 1110 FSMC_A6为0 u32 UCGUI_LCD_DATA = 0X6C00008E; //地址为0x6C000080; 1000 0000 FSMC_A6为1[/mw_shl_code]

4.编写测试程序测试是否移植成功。(使用gui需开启CRC时钟,寄存器版即RCC->AHB1ENR |= 1 << 12)

STemWin(寄存器版).rar

5.09 MB, 下载次数: 149

readme.txt

223 Bytes, 下载次数: 462

以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-4 17:19:52 | 显示全部楼层
回复【352楼】正点原子:
---------------------------------
现在是大愚若愚的阶段,haha~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-5 22:41:21 | 显示全部楼层
第七〇天  2015年10月05日  周一     例程:STemWin(二)-----无操作系统之综合实验移植

一、添加触屏

1.修改和添加触屏底层驱动程序;

2.添加GUI_X_Touch_Analog.c文件,主要用来获取触屏按下时的X轴和Y轴的AD值【见EMWIN开发手册23页】;

3.修改GUIConf.h和LCDConf_FlexColor_Template.c文件【见EMWIN开发手册24页】

4.修改LCDConf_FlexColor_Template.c文件中LCD_X_Config()函数【见EMWIN开发手册26页】。

二、综合测试程序移植

1.添加定时器3和定时器4完成Demo对时钟的要求【见EMWIN开发手册24页】

2.将Demo文件夹中内容除test.c文件全部添加到工程中【见EMWIN开发手册28页】

3.修改启动文件堆栈大小,以便STemWin流畅运行【见EMWIN开发手册28页】;

4.修改主函数,调用Demo【见EMWIN开发手册29页】

三、当前更新时间2015年10月06日 11:38:07对昨天2015年10月05日实验的问题解决及测试总结

1.昨天测试时,移植编译通过但触屏箭头一直处在左上角没反应,反复替换EMWIN文件,整个替换完成没有解决,恍然大悟,应该在添加的定时器文件中,果然,定时器4负责触屏的中断中简单配置出现了问题。

2.寄存器版屏幕为竖屏,但Demo1.1的方框貌似处于横屏时的状态,没有圈住某一图标,可能是个小bug,目前自己无力解决。

3.例程为库函数横屏版,自己将寄存器屏幕设置为横屏为#define D2U_L2R 6时屏幕触摸不准确,偏差较大且无规律;设置为库函数默认#define L2R_D2U 1时屏幕顶部出现约1/5区域白色方框且Control方框全黑,运行一段时间后屏幕逐渐变乱,时间原因,没有对屏幕方向设置进一步测试。

60.UI_3.rar

2.59 MB, 下载次数: 144

readme.txt

252 Bytes, 下载次数: 482

以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-6 15:53:59 | 显示全部楼层
回复【355楼】龙之谷:
---------------------------------
搞GUI了,哈哈
还有20天哦。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-6 17:32:46 | 显示全部楼层
回复【356楼】正点原子:
---------------------------------
趁着假期时间充足,把UCOS、EMWIN的一些基础熟悉一下

不出什么其他情况,本月能够更新完了,哈哈
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

15

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2012-11-21
在线时间
9 小时
发表于 2015-10-6 19:44:04 | 显示全部楼层
顶楼主,学的真快!
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-6 22:22:00 | 显示全部楼层
回复【358楼】daska110:
---------------------------------
谢谢,嘿嘿,共勉~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-6 22:40:26 | 显示全部楼层
第七一天  2015年10月06日  周二     例程:STemWin(三)-----带操作系统移植

一、移植过程

1.以上一节不带操作系统综合实验作为基础工程,向其添加UCOSII操作系统【EMWIN开发手册_V3.0.pdf第32页】;

2.使用GUI_X_UCOSII.c替换无操作系统工程中的GUI_X.c文件【EMWIN开发手册_V3.0.pdf第32页】

3.使用支持操作系统的库文件STemWin522_CM4_OS_Keil.lib替换库文件STemWin522_CM4_Keil.lib;

4.修改相应文件
①更改os_cfg.h文件中#define OS_TICKS_PER_SEC 1000u;
②更改GUIConf.h文件中#define GUI_OS 1;(貌似此处是0是1不影响,测试时没发现区别,此处留疑
③定义可以调用STemWin的任务的最大数目#define GUI_MAXTASK 5;(本次测试没发现具体用处,可能以后有用

二、移植总结:一定要踏踏实实、一步一步细心的进行移植,不要犯经验主义错误,原本在做开发指南UCOSII实验时移植过UCOSII,这次移植是直接将其UCOSII文件夹复制过来,感觉没什么问题,结果移植完成后测试黑屏,反复查找主函数以及配置方面文件,找不到原因,偶然看到sys.c文件才想起来要在sys.h使能#define SYSTEM_SUPPORT_UCOS 1,细心,切记!!!!!

61.UI_OS_1.rar

2.69 MB, 下载次数: 151

readme.txt

231 Bytes, 下载次数: 444

以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-7 12:49:03 | 显示全部楼层
第七二天  2015年10月07日  周三     例程:STemWin(四)-----PC上仿真

一、基础搭建

1.准备emWin的PC仿真文件(SeggerEval_WIN32_MSVC_MinGW_GUI_V526);
2.构建仿真环境,使用Microsoft Visual C++(6.00或更高版本)的IDE,如Visual Studio 2013。(使用其打开SimulationTrial.sln即可打开工程)

二、PC仿真文件

1.PC仿真文件框架



2.PC仿真文件

Applicationemo例程演示文件,高端大气上档次的一个综合实验。

Config.h:配置以及裁剪EMWIN,如是否支持操作系统、触摸、鼠标、窗口和存储设备等,设置显示层数、默认字体等。

  Config.c:主要给EMWIN分配内存。只有一个GUI_X_Config()分配内存函数,宏GUI_NUMBYTES定义了应该分配的内存大小,默认0X400000,也就是4M内存。然后调用GUI_ALLOC_AssignMemory()函数将其分配给EMWIN,调用       GUI_ALLOC_SetAvBlockSize()设置存储块的大小。
  LCDConf.c:用来设置模拟LCD的大小,配置显示驱动和颜色转换格式等,此文件只需要最常修改的两个宏(#define XSIZE_PHYS 320  #define YSIZE_PHYS 240)修改仿真时的LCD大小。
GUI:即EMWIN真身,是EMWIN源码的lib文件和相应头文件,仅适用于PC平台。

Sample:针对EMWIN各个小控件、功能的演示例程,主要学习此文件里面代码。

三、例程演示步骤

1.通过选中XX文件----->鼠标右键----->属性----->从生成中排除----->
①是,可以将无关演示文件屏蔽掉(如Demo例程文件);
②否,添加演示文件(如Sample中BASIC_HelloWorld.c文件)。
2.添加/排除完成后,按下F5或点击VS2013的“本地Windows调试器”编译并运行代码即可。

四、Visual Studio 2013相关链接
【1】http://www.uzzf.com/soft/85448.html
【2】http://www.newasp.net/soft/72699.html
【3】http://wenda.haosou.com/q/1362361375068337
【4】http://www.upantool.com/qidong/2011/UltraISO_v9.5.0.2800.html
【5】http://jingyan.baidu.com/album/0bc808fc68e1c11bd485b9a5.html
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-7 13:27:02 | 显示全部楼层
国庆假期总结帖

基本按照预期的3天UCOSII+2天UI+2天UCOSII/UI的时间安排进行了学习,对UCOSII和EMWIN有了一些简单的认识了解。

UCOSII和UI一直是自己想要掌握的知识,张望数月之久,但由于自己的惰性以及基础的薄弱,每欲下手,总会绊在各种自找理由,时间不充足、例程需要知识点没有掌握等,通过此次国庆假期,终于对UCOSII和UI的基础有了一点学习,把比较耗时间的移植进行了了解,在此基础上以后的进一步学习应该会便利一些,心里一下子放松了很多。

假期即将结束之余,对于UCOSII好UI感觉:事情没有想象中的那么困难,事情也没有想象中的那么简单。

以前每逢假期,必然有个自己的小学习计划,但往往基本0实现,此次国庆假期感觉还算满意,完成了很多平时望之心畏的工作量(虽然远没有想象中的多),以前一直想有个长的比较闲的完全能够自己支配的假期把需要处理的事情处理一下,这次终于有了,以后应该也不会再有这样的时候了。

此次假期没有回家干最忙时的农活,让父母受累了,此后假期不再考虑任何关于学习的安排计划,工作、学习依然重要,但不再像以前那么分量重。

放下过去苦与乐,开启新的生活,从此笑对生活~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 3 反对 0

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-7 13:28:28 | 显示全部楼层
自水一帖,haha~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-8 23:01:06 | 显示全部楼层
第七三天  2015年10月08日  周四     例程:USB读卡器(slave)实验(一)

1.USB,是英文Universal Serial BUS(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术,支持设备的即插即用和热插拔功能。

2.STM32F407系列芯片自带有USB OTG FS(全速)和USB OTG HS(高速),其中,HS需要外扩高速PHY芯片实现。

3.标准USB共四根线组成,除VCC/GND外,另外D+和D-,这两根数据线采用的是差分电压的方式进行数据传输的。在USB主机上,D+和D-都是接了15K的电阻到地的,所以在没有设备接入的时候,D+、D-均是低电平。而在USB设备中,如果是高速设备,则会在D+上接一个1.5K的电阻到VCC,而如果是低速设备,则会在D-上接一个1.5K的电阻到VCC。这样当设备接入到主机时,主机就可以判断是否有设备接入,并能判断设备是高速设备还是低速设备。

4.STM32F407的USB OTG FS是一款双角色设备(DRD)控制器,同时支持从机功能和主机功能,完全符合USB2.0规范的On-The-Go补充标准。此外,该控制器也可配置为“仅主机”模式或“仅从机”模式,完全符合USB 2.0规范。
在主机模式下,OTG FS支持全速(FS,12Mb/s)和低速(LS,1.5Mb/s)收发器,而从机模式下则仅支持全速(FS, 12Mb/s)收发器。OTG FS同时支持HNP和SRP。

5.对于USB OTG FS功能模块,STM32F4通过AHB总线(频率需大于14.2Mhz),其中48Mhz的USB时钟,时来自时钟树图里面的PLL48CK(和SDIO共用)。

6.ST提供了一个完整的USB OTG驱动库(包括主机和设备),通过这个库,可以很方便的实现我们所要的功能,而不需要详细了解USB的整个驱动。
该库包含了STM32F4 USB主机(Host)和从机(Device)驱动库,并提供了10个例程供参考。例程分为3类:①设备类(Device,即Slave);②主从一体类(Host_Device);③主机类(Host)。
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-9 22:34:31 | 显示全部楼层
第七四天  2015年10月09日  周五     例程:USB读卡器(slave)实验(二)

一、USB驱动移植

1.代码移植路径大致如下



2.移植时,主要修改USB_APP文件夹下代码,其中

①usb_bsp.c提供了几个USB库需要用到的底层初始化函数,包括:IO设置、中断设置、VBUS配置以及延时等,需要自己实现。此文件USB Device(Slave)和USB Host共用。
②usbd_desc.c提供了USB设备类的描述符,直接决定USB设备的类型、断点、接口、字符串、制造商等重要信息。一般无需修改。【注】文件名usbd_desc.c里面的usbd即device类,同样,usbh即host类,通过文件名可以很容易区分文件是用在device还是host,而只有usb字样的就是device和host可以共用的。
③usbd_usr.c提供用户应用层接口函数,即USB设备类的一些回调函数,当USB状态机处理完不同事务的时候,会调用这些回调函数,通过这些回调函数知道USB当前状态,从而执行不同操作,完成特定功能。
④usbd_storage_msd.c提供一些磁盘操作函数,包括支持的磁盘个数,以及每个磁盘的初始化和读写函数。

3.需注意点




二、USB应用


1.程序中,USB_OTG_CORE_HANDLE是一个全局结构体类型,用于存储USB通信中USB内核需要用到的各种变量、状态和缓存等。任何USB通信(主机或从机)都需要定义这么一个街头体以实现USB通信,例程中定义为USB_OTG_dev。
[mw_shl_code=c,true]USB_OTG_CORE_HANDLE USB_OTG_dev;[/mw_shl_code]

2.然后,初始化USB,只需要调用USBD_Init函数即可,该函数完成本章所需USB设备类初始化。初始化了USB设备类处理的各种回调函数,以便USB驱动库调用,其执行完后,USB就启动了。
[mw_shl_code=c,true]USBD_Init(&USB_OTG_dev,USB_OTG_FS_CORE_ID,&USR_desc,&USBD_MSC_cb,&USR_cb);[/mw_shl_code]
其中,第一个参数是我们定义的,其他都是在其他文件中定义好的,无需处理。

3.USB中断服务函数在usbd_usr.c里面,它通过调用USBD_OTG_ISR_Handler函数来处理各种USB中断请求,因此在main函数中处理过程很简单,只要通过两个全局状态变量(USB_STATUS_REG和bDeviceState
)来判断USB状态,并在LCD上显示相关提示信息。
[mw_shl_code=c,true]//USB OTG 中断服务函数 //处理所有USB中断 void OTG_FS_IRQHandler(void) { USBD_OTG_ISR_Handler(&USB_OTG_dev); } [/mw_shl_code]
①USB_STATUS_REG:定义于usbd_storage_msd.c文件中,穿插于对应读写卡函数中,执行某一函数时,置位自己预先定义好的相应位,然后在主函数中通过对各个位的状态判断在LCD进行相关信息显示。
[mw_shl_code=c,true]////////////////////////////自己定义的一个标记USB状态的寄存器/////////////////// //bit0:表示电脑正在向SD卡写入数据 //bit1:表示电脑正从SD卡读出数据 //bit2:SD卡写数据错误标志位 //bit3:SD卡读数据错误标志位 //bit4:1,表示电脑有轮询操作(表明连接还保持着) vu8 USB_STATUS_REG=0;[/mw_shl_code]
②bDeviceState:定义于usbd_usr.c文件中,原理同上
[mw_shl_code=c,true]//表示USB连接状态 //0,没有连接; //1,已经连接; vu8 bDeviceState=0; //默认没有连接 [/mw_shl_code]
作用函数
[mw_shl_code=c,true]//USB Device连接成功 void USBD_USR_DeviceConnected (void) { bDeviceState=1; printf("USB Device Connected.\r\n"); } //USB Device未连接 void USBD_USR_DeviceDisconnected (void) { bDeviceState=0; printf("USB Device Disconnected.\r\n"); } [/mw_shl_code]

4.此时,插上SD卡,USB数据线接在USB_SLAVE口,即可通过电脑对SD卡执行读写操作。

以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-10 12:20:08 | 显示全部楼层
回复【365楼】龙之谷:
---------------------------------
谢谢
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-10 22:18:52 | 显示全部楼层
第七五天  2015年10月10日  周六     例程:USB声卡(Slave)实验

1.STM32的USB功能+STM32F4的IIS驱动WM8978来实现USB声卡。

2.移植官方USB AUDIO例程,路径STM32_USB_Host-Device_Lib_V2.1.0-->roject-->USB_Device_Example-->AUDIO。该例程采用USB同步传输来传输音频数据流并且支持某些控制命令(如静音控制),仅支持USB FS模式,不需特殊的驱动文件,大多数操作系统可直接识别。

3.过程:通过驱动使STM32F4被电脑识别为声卡,电脑通过USB将音频传给STM32,STM32处理后通过WM8978实现音频播放。

4.注意



5.将电脑音频数据进行播放(缓存)
[mw_shl_code=c,true]//播放音频数据流 //Addr:音频数据流缓存首地址 //Size:音频数据流大小(单位:harf word,也就是2个字节) void Audio_MAL_Play(uint32_t Addr, uint32_t Size) { u16 i; u8 t=i2ssavebuf; u8 *p=(u8*)Addr; u8 curplay=i2splaybuf; //当前正在播放的缓存帧编号 if(curplay)curplay--; else curplay=AUDIO_BUF_NUM-1; audiostatus=1; t++; if(t>(AUDIO_BUF_NUM-1))t=0; if(t==curplay) //写缓存碰上了当前正在播放的帧,跳到下一帧 { t++; if(t>(AUDIO_BUF_NUM-1))t=0; printf("bad position:%d\r\n",t); } i2ssavebuf=t; for(i=0;i<Size*2;i++) { i2sbuf[i2ssavebuf]=p; } I2S_Play_Start(); //开启DMA }[/mw_shl_code]

将缓存数据通过DMA送到WM8978
[mw_shl_code=c,true]//I2S开始播放 void I2S_Play_Start(void) { DMA1_Stream4->CR|=1<<0; //开启DMA TX传输 }[/mw_shl_code]
[mw_shl_code=c,true]u8 *i2sbuf[AUDIO_BUF_NUM]; //音频缓冲帧,占用内存数=AUDIO_BUF_NUM*AUDIO_OUT_PACKET 字节 //音频数据I2S DMA传输回调函数 void audio_i2s_dma_callback(void) { if((i2splaybuf==i2ssavebuf)&&audiostatus==0) { I2S_Play_Stop(); }else { i2splaybuf++; if(i2splaybuf>(AUDIO_BUF_NUM-1))i2splaybuf=0; if(DMA1_Stream4->CR&(1<<19)) { DMA1_Stream4->M0AR=(u32)i2sbuf[i2splaybuf];//指向下一个buf } else { DMA1_Stream4->M1AR=(u32)i2sbuf[i2splaybuf];//指向下一个buf } } } [/mw_shl_code]

以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-11 23:19:40 | 显示全部楼层
回复【367楼】龙之谷:
---------------------------------
谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-11 23:26:54 | 显示全部楼层
第七六天  2015年10月11日  周日     例程:USB U盘(Host)实验

1.通过USB HOST功能,实现读写U盘/读卡器等大容量USB存储设备。

2.U盘,全称USB闪存盘(USB flash disk),是一种使用USB接口的无需物理驱动器的微型高容量移动存储产品,通过USB接口与主机连接,实现即插即用。

3.状态机简写FSM(Finite State Machine),就是状态转移图,是在不同条件下跳转到自己或不同状态的图。是一个有向图形,由一组节点和一组相应的转移函数组成,通过响应一系列事件而“运行”,每个事件都在属于“当前”节点的转移函数的控制范围内,其中函数的范围是节点的一个子集,函数返回“下一个”(或自身)节点,这些节点至少有一个必须是终态。当到达终态,状态机停止。

相关链接:http://baike.baidu.com/link?url=eSRhpg91V14jVWSiJnHNK8lMIA5iOXK5U80DpsA3hOzp8bdAGf_KrZQ9AzF9vd01p30-hnQkS67qHR_9m9vjaa
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-11 23:30:15 | 显示全部楼层
对USB比较陌生,工作一时用不到且没有下手点,兴趣不大,稍微熟悉一下,简单总结一下就过了。。。。。
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

4

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2015-10-7
在线时间
3 小时
发表于 2015-10-12 10:10:08 | 显示全部楼层
回复【370楼】龙之谷:
---------------------------------
回头看到楼主 ,感觉汗颜呀,
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-12 15:04:32 | 显示全部楼层
回复【371楼】15721227:
---------------------------------
共勉~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

18

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
421
金钱
421
注册时间
2013-2-4
在线时间
214 小时
发表于 2015-10-12 15:56:22 | 显示全部楼层
楼主 好样的
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-12 16:02:59 | 显示全部楼层
回复【373楼】sunday151640:
---------------------------------
也是三天打鱼两天晒网,最近这几天一直在晒网,意志还不够坚定

共勉~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-12 21:30:44 | 显示全部楼层
第七七天  2015年10月12日  周一     例程:USB鼠标键盘(Host)实验

1.USB鼠标键盘属于USB HID设备(Human Interface Device人机交互设备)。键盘、鼠标、游戏杆都属于此类设备,不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。

2.枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。

参考链接:http://blog.csdn.net/myarrow/article/details/8270029
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-12 21:34:29 | 显示全部楼层
第七七天  2015年10月12日  周一     例程:网络通信实验-----基础知识

1.STM32F407芯片自带以太网模块,该模块包括带专用DMA控制器的MAC 802.3(介质访问控制)控制器,支持介质独立接口(MII)和简化介质独立接口(RMII),并自带了一个用于外部PHY(物理层)通信的SMI接口,通过一组配置寄存器,用户可以为MAC控制器和DMA控制器选择所需模式和功能。

2.STM32F4必须外接PHY芯片,才可以完成以太网通信,外部PHY芯片可以通过MII/RMII接口与STM32F4内部MAC连接,并且支持SMI(MDIO&MDC)接口配置外部以太网PHY芯片。

3.SMI接口,即站管理接口,允许应用程序通过2条线:时钟(MDC)和数据线(MDIO)访问任意PHY寄存器。该接口支持访问多达32个PHY,应用程序可以从32个PHY中选择一个PHY,然后从任意PHY包含的32个寄存器中选择一个寄存器,发送控制数据或接收状态信息。任何给定时间内只能对一个PHY中的一个寄存器进行寻址。

4.MII接口,即介质独立接口,用于MAC层与PHY层进行数据传输。

5.RMII接口,即精简介质独立接口,该接口降低了在10/100Mbit/s下微控制器以太网外设与外部PHY间的引脚数。根据IEEE 802.3u标准,MII包括16个数据和控制信号引脚,RMII规范将引脚数减少为7个。

6.探索者使用LAN8720A作为PHY芯片,该芯片是低功耗10/100M以太网PHY层芯片,支持10Mbps和100Mbps。

7.①TCP/IP中文名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。②TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。③协议采用了4层层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。④通俗而言,TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,知道所有数据安全正确地传输到目的地,而IP是给因特网的每一台联网设备规定一个地址。

8.TCP/IP协议不是TCP和IP这两个协议的合称,而是整个TCP/IP协议族。从协议分层模型方面讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。

9.OSI是传统的开放式系统互连参考模型,该模型将TCP/IP分为七层:物理层、数据链路层(网络接口层)、网络层(网络层)、传输层(传输层)、会话层、表示层和应用层(应用层)。



10.LWIP是瑞典计算机科学院(SICS)的Adam Dunkels等开发的一个小型开源的TCP/IP协议栈,是TCP/IP的一种实现方式。LWIP是轻量级IP协议,有无操作系统均可运行,其实现重点是保护TCP协议主要功能的基础上减少对RAM的占用,适合在低端嵌入式系统中使用。

11.查看网络连接是否正常:开发板通过DHCP获取到的IP地址为:192.168.1.105,因此,在电脑上先来ping一下这个IP,看能否ping通,以检查连接是否正常(Start-->运行-->CMD-->ping 192.168.1.105)。

以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-12 22:26:50 | 显示全部楼层
回复【376楼】龙之谷:
---------------------------------
顶.
今天把SMS移植到了探索者的综合实验上面了,哈哈
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-12 22:52:45 | 显示全部楼层
回复【377楼】正点原子:
---------------------------------
哈哈,壮哉原子哥,坛友又有福利了

等能力进一步提升了,学学玩玩nes、sms
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-12 23:14:20 | 显示全部楼层
回复【378楼】龙之谷:
---------------------------------
谢谢支持
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-12 23:32:29 | 显示全部楼层
 至此,探索者STM32F407开发板除综合实验以外简单地走了一遍

强迫症伤不起,这几天明明的USB和网络学吧只是简单总结一些表面,不学吧不踏实放不下,磨磨蹭蹭算是简单总结了一下,心里也“踏实”了

学习过程中,有一些章节没有认真实验,中后期代码由于量比较大也没有像前几章一样照着例程代码敲,由于时间原因,学习不够扎实,尽管如此种种,第一阶段学习就此画个句号吧!

这也是第二阶段学习的开始-----跳跃、选择式回顾学习
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-10-5
在线时间
0 小时
发表于 2015-10-13 22:10:37 | 显示全部楼层
棒棒哒!~
好励志!~
Make the most of life !~
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-13 22:27:07 | 显示全部楼层
回复【380楼】龙之谷:
---------------------------------
不容易啊....
现在是不是感觉有底了?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-13 23:41:20 | 显示全部楼层
回复【381楼】Ryan_yuans:
---------------------------------
哈哈,共勉~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-13 23:45:00 | 显示全部楼层
回复【382楼】正点原子:
---------------------------------
回头看看,我这点工作量和您这海量资料完全没法比,但也确实有些累

现在心理踏实许多,遇到问题感觉也轻松不少,学习动力增加许多,哈哈
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-13 23:45:13 | 显示全部楼层
第七八天  2015年10月13日  周二     主题:USMART调试组件打包

1.以前编写程序,都是将应用部分.h和.c文件一股脑放到同一个文件夹,虽无需重复操作包含路径,但学习开发指南做实验越到后期感觉越是凌乱,弊远大于利,故从现在开始,将一些比较“大型”例程进行打包,即单独放在一个文件夹中,并添加辅助文件ASSIST.txt便于随时查看相关信息。

2.首先打包的肯定是功能强大的USMART调试组件了,工程中列表显示如下



3.ASSIST.txt文件一般内容为相关例程的移植、使用、注意事项等信息,根据文件具体内容自行查看,以后不再说明。

ASSIST.txt

2.24 KB, 下载次数: 467

USMART.rar

18.57 KB, 下载次数: 603

以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-14 23:41:40 | 显示全部楼层
第七九天  2015年10月14日  周三     主题:TFTLCD打包

一、重要结构体
[mw_shl_code=c,true]//LCD重要参数集 typedef struct { u16 width; //LCD 宽度 u16 height; //LCD 高度 u16 id; //LCD ID u8 dir; //横屏还是竖屏控制:0,竖屏;1,横屏。 u16 wramcmd; //开始写gram指令 u16 setxcmd; //设置x坐标指令 u16 setycmd; //设置y坐标指令 }_lcd_dev; [/mw_shl_code]
该结构体将屏幕相关使用、控制信息组合到一块进行管理,首先读取id信息,根据id对应相应手册进行寄存器控制;然后通过dir控制屏幕方向,width、height则根据id、dir分别赋值,将可显示区域界定下来;随后setxcmd、setycmd分别对应x、y坐标寄存器指令;最后,wramcmd控制gram的写入/读出。

二、打点函数实现过程

1.打点函数
[mw_shl_code=c,true]/********************************************************************* 功能 :画点 ********************************************************************************************/ void LCD_DrawPoint(uint x, uint y) { LCD_SetCursor(x, y); LCD_WriteRAM_Prepare(); LCD->LCD_RAM = POINT_COLOR; }[/mw_shl_code]
2.其中,①LCD_SetCursor(x, y);设置光标函数(即打点位置)
[mw_shl_code=c,true]/********************************************************************* 功能 :设置光标位置 ********************************************************************************************/ void LCD_SetCursor(uint Xpos, uint Ypos) { if(lcddev.id==0x9341 || lcddev.id==0x5310) { LCD_WR_REG(lcddev.setxcmd); LCD_WR_DATA(Xpos >> 8); LCD_WR_DATA(Xpos & 0xff); LCD_WR_REG(lcddev.setycmd); LCD_WR_DATA(Ypos >> 8); LCD_WR_DATA(Ypos & 0xff); } else if(lcddev.id==0x6804) { if(lcddev.dir == 1) //横屏时处理 { Xpos = lcddev.width - 1 - Xpos; } LCD_WR_REG(lcddev.setxcmd); LCD_WR_DATA(Xpos >> 8); LCD_WR_DATA(Xpos & 0xff); LCD_WR_REG(lcddev.setycmd); LCD_WR_DATA(Ypos >> 8); LCD_WR_DATA(Ypos & 0xff); } else if(lcddev.id==0x5510) { LCD_WR_REG(lcddev.setxcmd); LCD_WR_DATA(Xpos >> 8); LCD_WR_REG(lcddev.setxcmd+1); LCD_WR_DATA(Xpos & 0xff); LCD_WR_REG(lcddev.setycmd); LCD_WR_DATA(Ypos >> 8); LCD_WR_REG(lcddev.setycmd+1); LCD_WR_DATA(Ypos & 0xff); } else { if(lcddev.dir==1) //横屏其实就是调转x,y坐标 { Xpos = lcddev.width - 1 - Xpos; } LCD_WriteReg(lcddev.setxcmd, Xpos); LCD_WriteReg(lcddev.setycmd, Ypos); } }[/mw_shl_code]
②LCD_WriteRAM_Prepare();即写入GRAM命令
[mw_shl_code=c,true]/********************************************************************* 功能 :开始写GRAM ********************************************************************************************/ void LCD_WriteRAM_Prepare(void) { LCD->LCD_REG = lcddev.wramcmd; }[/mw_shl_code]
③LCD->LCD_RAM=POINT_COLOR;即写入颜色。

2.基础函数,向TFTLCD写入数据,一般都是先写入寄存器命令,然后送入数据,七个基础函数如下
[mw_shl_code=c,true]/********************************************************************* 功能 :写寄存器函数 ********************************************************************************************/ void LCD_WR_REG(vu16 regval) { regval = regval; //使用-O2优化的时候,必须插入的延时 LCD->LCD_REG = regval; } /********************************************************************* 功能 :写LCD数据 ********************************************************************************************/ void LCD_WR_DATA(vu16 data) { data = data; LCD->LCD_RAM = data; } /********************************************************************* 功能 :读LCD数据 ********************************************************************************************/ uint LCD_RD_DATA(void) { uint ram; ram = LCD->LCD_RAM; return ram; } /********************************************************************* 功能 :向指定寄存器写 ********************************************************************************************/ void LCD_WriteReg(vu16 LCD_Reg, vu16 LCD_RegValue) { LCD->LCD_REG = LCD_Reg; LCD->LCD_RAM = LCD_RegValue; } /********************************************************************* 功能 :读指定寄存器 ********************************************************************************************/ uint LCD_ReadReg(vu16 LCD_Reg) { LCD_WR_REG(LCD_Reg); delay_us(5); return LCD_RD_DATA(); } /********************************************************************* 功能 :开始写GRAM ********************************************************************************************/ void LCD_WriteRAM_Prepare(void) { LCD->LCD_REG = lcddev.wramcmd; } /********************************************************************* 功能 :写入GRAM颜色 ********************************************************************************************/ void LCD_WriteRAM(uint RGB_Code) { LCD->LCD_RAM = RGB_Code; }[/mw_shl_code]
3.画线、圆等都是在打点的基础上进行操作,通过控制点阵的显示得到预期效果,同理,字符也是通过对点的控制来进行显示;每个点有16位真彩色,通过对需要显示点写入不同彩色值,从而呈现不同色彩线、圆、字符等效果。

ASSIST.txt

1.43 KB, 下载次数: 466

TFTLCD.rar

20.41 KB, 下载次数: 591

以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2015-10-15
在线时间
0 小时
发表于 2015-10-15 09:02:05 | 显示全部楼层
菜鸟上路 !多多照顾 我也是 有时感觉学的没头没尾的!
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-15 09:11:20 | 显示全部楼层
回复【387楼】duanlizhi316:
---------------------------------
共勉~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2015-10-15 11:33:20 | 显示全部楼层
不错,坚持这么久,很难得。
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-15 21:47:27 | 显示全部楼层
回复【389楼】ST-FAE-SALE:
---------------------------------
谢谢鼓励~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-15 23:15:13 | 显示全部楼层
第八十天  2015年10月15日  周四     主题:触摸屏实验打包


ASSIST.txt

1.14 KB, 下载次数: 495

TOUCH.rar

15.05 KB, 下载次数: 630

以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

1

主题

41

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
金钱
238
注册时间
2015-10-13
在线时间
34 小时
发表于 2015-10-16 09:17:16 | 显示全部楼层
看到楼主的坚持,很佩服,希望楼主坚持下去,迈向成功之路,话说楼主是河北哪的?有时间交流交流
不要把钱当成你们的首要追求的目标,你们只需要追求两个字,卓越,你只要去追求它, 这个钱它自然就会跟着你,当你有了远大的目标跟志向的时候, 你自己本身它就是一个财富,钱,它就变成了一个副产品.
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-16 11:01:45 | 显示全部楼层
回复【392楼】安尚科技:
---------------------------------
石家庄,欢迎交流讨论~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

6

主题

115

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1026
金钱
1026
注册时间
2015-6-1
在线时间
126 小时
发表于 2015-10-16 11:44:15 | 显示全部楼层
加油~~~~
回复 支持 反对

使用道具 举报

1

主题

41

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
金钱
238
注册时间
2015-10-13
在线时间
34 小时
发表于 2015-10-16 17:32:32 | 显示全部楼层
回复【393楼】龙之谷:
---------------------------------
我们距离不远,以前我就在石家庄了,只不过现在在老家
不要把钱当成你们的首要追求的目标,你们只需要追求两个字,卓越,你只要去追求它, 这个钱它自然就会跟着你,当你有了远大的目标跟志向的时候, 你自己本身它就是一个财富,钱,它就变成了一个副产品.
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-16 20:24:03 | 显示全部楼层
回复【394楼】Watmin:
---------------------------------
共勉~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-16 20:25:50 | 显示全部楼层
回复【395楼】安尚科技:
---------------------------------
吼吼~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-16 21:55:56 | 显示全部楼层
继续帮顶啊。
楼主90天快到了。。。准备送礼了,哈哈。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-16 23:34:15 | 显示全部楼层
第八一天  2015年10月16日  周五     主题:存储类汇总




1.AT24CXX存储芯片在做实验过程中用到较少,除了自身通信测试外,在触屏校准时进行了使用,使用比较简单;
2.FLASH即STM32F407的片上FLASH,下载程序到FLASH上,其中过程我们自不用深究,其他应用主要体现在IAP应用了;

3.SRAM(重点),即片上SRAM,复杂一些应用很可能会经常用到其内存管理,如内存块大小32字节,最大管理100K;
4.W25Q128,外部FLASH,由于其寿命属性,适合存储字库等一些固定且占据空间适中的应用;
5.IS62WV51216(重点),即片外SRAM,复杂一些应用很可能会经常用到其内存管理,如内存块大小32字节,最大管理960K;
6.SD卡,由于其容量等属性,在图片、音视频等大数据存读会进行使用。
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
 楼主| 发表于 2015-10-17 00:04:40 | 显示全部楼层
回复【398楼】正点原子:
---------------------------------
期间断更两次,我有点食言的赶脚~~~~~

想想老大还送礼物,心理有点小澎湃~~~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表