OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 47531|回复: 79

USMART 3.1 发布+ 最新SYSTEM文件夹发布 + 最新TFTLCD驱动发布 +最新图片解码库(TJPGD支持)发布

[复制链接]

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-23 12:41:30 | 显示全部楼层 |阅读模式

发布战舰STM32一系列最新的代码.后续将整个战舰光盘代码更新,先上传一个测试工程.
本测试实验采用的新特性:
1,采用最新的SYSTEM文件夹,完全支持MDK3~MDK4全系列(MDK5未测试,应该也兼容),完全兼容库函数V3.5头文件,代码移植到库函数从此省心省事.
2,采用最新的LCD驱动文件,新添加NT35310驱动IC的支持,并增加开窗函数LCD_Set_Window.
3,采用最新的USMART组件V3.1版本,新增runtime系统指令,支持函数执行时间查看(设置指令:runtime 1).
4,采用最新的图片解码库,JPEG/JPG解码采用TJPGD(FATFS作者的又一个作品),速度更快,资源需求更小,对小尺寸jpeg/jpg支持快速显示(开窗).


本测试实验功能:完全串口控制,实现对USMART V3.1,图片解码以及文件系统相关函数的测试功能.
本例重点是usmart V3.1的新特性以及图片解码新特性的测试.

USMART V3.1新特性(V3.1之前的特性,请看USMART文件夹的readme.txt):
usmart V3.1新增函数运行时间统计功能,该功能需要硬件定时器支持,需要将usmart.h里面的:USMART_ENTIMX_SCAN设置为1.
并实现如下几个函数:
//复位runtime
//需要根据所移植到的MCU的定时器参数进行修改
void usmart_reset_runtime(void)
{
 TIM2->SR&=~(1<<0); //清除中断标志位
 TIM2->ARR=0XFFFF; //将重装载值设置到最大
 TIM2->CNT=0;  //清空定时器的CNT
 usmart_dev.runtime=0; 
}
//获得runtime时间
//返回值:执行时间,单位:0.1ms,最大延时时间为定时器CNT值的2倍*0.1ms
//需要根据所移植到的MCU的定时器参数进行修改
u32 usmart_get_runtime(void)
{
 if(TIM2->SR&0X0001)//在运行期间,产生了定时器溢出
 {
  usmart_dev.runtime+=0XFFFF;
 }
 usmart_dev.runtime+=TIM2->CNT;
 return usmart_dev.runtime;  //返回计数值
}
//下面这两个函数,非USMART函数,放到这里,仅仅方便移植.
//定时器2中断服务程序 
void TIM2_IRQHandler(void)
{                 
 if(TIM2->SR&0X0001)//溢出中断
 {
  usmart_dev.scan(); //执行usmart扫描 
  TIM2->CNT=0;  //清空定时器的CNT
  TIM2->ARR=1000;  //恢复原来的设置
 }      
 TIM2->SR&=~(1<<0);//清除中断标志位     
}
//使能定时器2,使能中断.
void Timer2_Init(u16 arr,u16 psc)
{
 RCC->APB1ENR|=1<<0;//TIM2时钟使能   
  TIM2->ARR=arr;  //设定计数器自动重装值 
 TIM2->SC=psc;  //预分频器7200,得到10Khz的计数时钟
 //这两个东东要同时设置才可以使用中断
 TIM2->DIER|=1<<0;   //允许更新中断    
 TIM2->DIER|=1<<6;   //允许触发中断
              
 TIM2->CR1|=0x01;    //使能定时器2
   MY_NVIC_Init(3,3,TIM2_IRQn,2);//抢占3,子优先级3,组2(组2中优先级最低的)         
}

以上是战舰板(STM32)的实现方式,移植到其他平台,请参考设置.
另外,在usmart_init函数,必须设置定时器的计数频率为10Khz,以得到0.1ms为周期的计数时钟.
如下:
void usmart_init(u8 sysclk)
{
#if USMART_ENTIMX_SCAN==1
 Timer2_Init(1000,(u32)sysclk*100-1);//分频,时钟为10K ,100ms中断一次,注意,计数频率必须为10Khz,以和runtime单位(0.1ms)同步.
#endif
 usmart_dev.sptype=1; //十六进制显示参数


图片解码新特性:
1,jpeg/jpg解码部分,采用了TJPGD,该源码是由fatfs的作者提供,TJPGD具有:更小的内存占用,更快的解码速度,以及更多的jpg/jpeg文件解码支持.
2,ai_load_picfile函数,新增fast参数,可以用于设置是否支持对小尺寸(不大于液晶分辨率)jpg/jpeg文件的快速解码(实际上是通过开窗显示,来提高速度).
3,pic_phy新增三个函数指针,用于实现图片开窗显示.


液晶驱动新特性:
1,新增对NT35310液晶驱动器的支持.
2,新增LCD_Set_Window函数.以支持图片快速显示.

SYSTEM文件夹新特性:
1,完全摒弃stm32f10x_lib以及相关头文件,采用stm32f10x.h,与ST官方V3.5库保持同步.
2,完全兼容库函数,兼容MDK3~MDK4各版本(MDK5未测试,理论也支持)

如果遇到3.5移植我们代码有问题的,建议将本例程的SYSTEM文件夹,替换掉你原来的就可以了.
另外,所有的IRQChannel,需要改为:IRQn,就差不多了.


本例程测试图:


通过USMART 的help指令,查看使用说明.


通过list指令,查看可调用的函数清单


通过mf_scan_files("0:")函数调用,扫描SD卡根目录文件


通过通过ai_load_picfile("0:240320.bmp",0,0,240,320,1)函数调用,解码一个240*320的bmp图片

发送:runtime 1,开启函数执行时间统计功能


再次执行ai_load_picfile("0:240320.bmp",0,0,240,320,1),可以看到bmp解码时间


得到240*320 bmp/jpg图片的解码时间对比,以及开启快速显示和不开启快速显示的解码时间对比
新例程介绍到这里,usmart的时间统计功能,有时候非常有用,希望大家多多使用,有更好的建议,欢迎提出.
最后,感谢大家一直以来对ALIENTEK的支持,我们将一如既往提供免费的优质的源码,供大家学习使用.
有你的支持,我们将会更加努力!!

战舰板USMART V3.1&图片解码测试实验.rar

845.29 KB, 下载次数: 3719

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2013-6-21
在线时间
0 小时
发表于 2013-11-23 12:46:40 | 显示全部楼层
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2013-11-23 12:54:04 | 显示全部楼层
USMART的详细使用方法,请参考:http://www.openedv.com/posts/list/877.htm
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-9-27
在线时间
0 小时
发表于 2013-11-23 12:59:21 | 显示全部楼层
回复【楼主位】正点原子:
---------------------------------
顶!必须顶!
回复 支持 反对

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
发表于 2013-11-23 13:02:44 | 显示全部楼层
不太懂啊   快速解码时怎么回事
闷鱼闷闷不乐吃焖鱼
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2013-11-23 13:05:52 | 显示全部楼层
回复【5楼】闷鱼:
---------------------------------
说白了就是用填充的方式显示.
假设你开个100*100的窗口.
原来用画点的方法,你必须调用设置坐标函数:100*100次=10000次.
然后如果用开窗的方式,就只需要设置1次,然后不停的填充图片数据就可以了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

204

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
287
金钱
287
注册时间
2013-7-17
在线时间
0 小时
发表于 2013-11-23 13:10:56 | 显示全部楼层
顶一个。
回复 支持 反对

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2013-11-23 14:01:54 | 显示全部楼层
继续顶起
回复 支持 反对

使用道具 举报

8

主题

93

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
446
金钱
446
注册时间
2013-9-22
在线时间
0 小时
发表于 2013-11-23 14:05:53 | 显示全部楼层
顶一个,买战舰开板是我今年做的最明智的一件事!
回复 支持 反对

使用道具 举报

13

主题

314

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2012-7-20
在线时间
102 小时
发表于 2013-11-23 15:04:39 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2013-11-23 17:15:40 | 显示全部楼层
原子威武,牛逼
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复 支持 反对

使用道具 举报

32

主题

195

帖子

2

精华

高级会员

Rank: 4

积分
646
金钱
646
注册时间
2013-7-23
在线时间
1 小时
发表于 2013-11-23 17:55:40 | 显示全部楼层
哈哈,不错哦,继续学习原子大哥的程序。给了我学习的动力啊!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

27

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
280
金钱
280
注册时间
2013-8-28
在线时间
2 小时
发表于 2013-11-24 19:50:48 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
MINI不支持吗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2013-11-24 20:56:16 | 显示全部楼层
回复【14楼】正点圆子:
---------------------------------
MINI你可以移植过去.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2013-5-15
在线时间
6 小时
发表于 2013-11-24 21:19:42 | 显示全部楼层
多谢原子大大!!!!!!!!
回复 支持 反对

使用道具 举报

2

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2013-10-31
在线时间
3 小时
发表于 2013-11-25 13:31:38 | 显示全部楼层
原子哥,谢谢!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2013-11-25 20:32:13 | 显示全部楼层
回复【17楼】zhaolei0329:
---------------------------------
不客气.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
发表于 2013-11-26 18:23:04 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
 这个必须深入了解  

 顺带问下 原子哥  一个小问题 (不在这个话题里面)  

战舰例程里面 使用FSMC 是 使用到了 A10 这个地址线 
如果 我换成 A16 那么 对于结构体 

//LCD地址结构体
typedef struct
{
u16 LCD_REG;
u16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A10作为数据命令区分线 
//注意设置时STM32内部会右移一位对齐! 111110=0X3E     
#define LCD_BASE        ((u32)(0x6C000000 | 0x000007FE))
#define LCD             ((LCD_TypeDef *) LCD_BASE)
//////////////////////////////////////////////////////////////////////////////////

这些地址 要做何修改啊  0x60020000 么 ?
 对于 0x000007FE 这个数值 不太理解
闷鱼闷闷不乐吃焖鱼
回复 支持 反对

使用道具 举报

18

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
421
金钱
421
注册时间
2013-2-4
在线时间
214 小时
发表于 2013-11-26 18:59:47 | 显示全部楼层
又发布新的了。。。。还没有学到那呢。。支持。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2013-11-27 00:31:59 | 显示全部楼层
回复【19楼】闷鱼:
---------------------------------
这个论坛我很多地方说过了啊.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

38

主题

527

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1424
金钱
1424
注册时间
2011-11-27
在线时间
122 小时
发表于 2013-11-28 22:39:45 | 显示全部楼层
顶~
回复 支持 反对

使用道具 举报

17

主题

466

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2164
金钱
2164
注册时间
2013-1-11
在线时间
510 小时
发表于 2013-11-29 18:34:47 | 显示全部楼层
支持!!!
回复 支持 反对

使用道具 举报

57

主题

431

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
886
金钱
886
注册时间
2011-12-25
在线时间
12 小时
发表于 2013-11-30 21:57:45 | 显示全部楼层
不错。。正需要。。。很久没有来论坛活跃了。抱歉。。
很喜爱电子行业
回复 支持 反对

使用道具 举报

40

主题

144

帖子

0

精华

高级会员

Rank: 4

积分
513
金钱
513
注册时间
2013-7-26
在线时间
72 小时
发表于 2013-12-1 20:34:58 | 显示全部楼层
回复【楼主位】正点原子:
---------------------------------
老大  这个文件里面怎么没看到库函数的源文件呢 好奇怪 有些文件好像不一样了啊
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2013-12-1 20:51:34 | 显示全部楼层
回复【25楼】16777216:
---------------------------------
这是完全寄存器的,库函数的源文件在这里面不会有的。
只是用了库函数的:stm32f10x.h这个头文件。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

40

主题

144

帖子

0

精华

高级会员

Rank: 4

积分
513
金钱
513
注册时间
2013-7-26
在线时间
72 小时
发表于 2013-12-1 21:40:52 | 显示全部楼层
回复【26楼】正点原子:
---------------------------------
我说呢 哈哈  怪不得找不到  还以为用MDK自带的什么设置了
回复 支持 反对

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2384
金钱
2384
注册时间
2012-11-22
在线时间
403 小时
发表于 2013-12-14 19:08:24 | 显示全部楼层
我发现有些jpg的解码时间不变哇,有些确实快了不少。
态度决定一切
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2013-12-14 20:44:27 | 显示全部楼层
回复【28楼】冰封嗜魔:
---------------------------------
大尺寸的jpeg图片,没什么效果。
只有jpg图片小于等于屏幕分辨率的时候,效果才体现出来。

另外,要用MDK4编译,效果比MDK3.80A编译好好多....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2384
金钱
2384
注册时间
2012-11-22
在线时间
403 小时
发表于 2013-12-14 21:10:27 | 显示全部楼层
回复【29楼】正点原子:
---------------------------------
恩,是呀,分辨率小效果很好。我用的4.71。
态度决定一切
回复 支持 反对

使用道具 举报

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
发表于 2014-2-13 17:57:04 | 显示全部楼层
必须好好学!
手艺人要内外兼修。
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2014-2-14 11:46:52 | 显示全部楼层
好东西。。。
呵呵。
回复 支持 反对

使用道具 举报

25

主题

163

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
443
金钱
443
注册时间
2012-4-29
在线时间
38 小时
发表于 2014-2-27 08:46:47 | 显示全部楼层
原子你都开始写组件了,膜拜啊。。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2014-2-27 10:21:36 | 显示全部楼层
回复【33楼】ilikerome:
---------------------------------
工作需要,呵呵.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

26

主题

202

帖子

3

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2014-3-4
在线时间
11 小时
发表于 2014-3-8 23:02:18 | 显示全部楼层
回复【楼主位】正点原子:
---------------------------------
原子哥:usart怎么调试有数组指针参数的函数呀,举个例子
随遇而安,无愧于心?---?行者?任
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2014-3-8 23:31:17 | 显示全部楼层
回复【35楼】rengaopan:
---------------------------------
不支持,你得加多一层封装
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

26

主题

202

帖子

3

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2014-3-4
在线时间
11 小时
发表于 2014-3-9 01:32:04 | 显示全部楼层
回复【36楼】正点原子:
---------------------------------
好的,那我改下
随遇而安,无愧于心?---?行者?任
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2014-3-21
在线时间
0 小时
发表于 2014-3-21 12:09:03 | 显示全部楼层
记号,收藏
回复 支持 反对

使用道具 举报

0

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2014-3-7
在线时间
0 小时
发表于 2014-3-21 15:59:44 | 显示全部楼层
BMP速度慢的原因主要应该是需要从SD卡读取的数量太大吧

另外问一下原子哥,我之前自己也移植过TJPGD,但发现在MDK中如果把优化的等级设到最高时,会出现解码错误,返回值是JDR_FMT1,没有任何显示。如果单独把 tjpgd.c 这个文件的优化等级降低,则可以正常使用。不知道原子哥有没有试过把优化的设到最高。我的板子不是战舰板,无法测试楼主位提供的程序

还有,jpg/jpeg可以做半透明那种显示效果吗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2014-3-21 18:17:15 | 显示全部楼层
回复【39楼】揭阳老咸菜:
---------------------------------
没用过最高优化,优化可能导致其他问题。
jpg不支持半透明效果。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2014-3-6
在线时间
6 小时
发表于 2014-4-30 10:03:50 | 显示全部楼层
赞一个!太强大了。
回复 支持 反对

使用道具 举报

6

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2013-12-6
在线时间
46 小时
发表于 2014-4-30 14:29:14 | 显示全部楼层
赞一个!楼主太强大了。
有人问我会什么?我低头看看我手里的书,我发现我只会用。
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2014-4-26
在线时间
1 小时
发表于 2014-5-26 23:19:54 | 显示全部楼层
编译了下,出现这个错误,怎么搞得定
C:\Keil\ARM\Inc\ST\STM32F10x\stm32f10x.h(96): error:  #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2014-5-27 00:25:36 | 显示全部楼层
回复【43楼】12ycli:
---------------------------------
在c/c++选项卡定义一个:STM32F10X_HD,就可以了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2014-4-26
在线时间
1 小时
发表于 2014-5-27 12:05:22 | 显示全部楼层
回复【44楼】正点原子:
---------------------------------
也可以在stm32f10x.h中将
  /* #define STM32F10X_HD    */  /*!< STM32F10X_HD: STM32 High density devices */
取消注释
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2014-4-26
在线时间
1 小时
发表于 2014-5-27 12:23:38 | 显示全部楼层
回复【26楼】正点原子:
---------------------------------
我懂了,usmart就是用来做执行一些子函数,显示效果,影响一些变量之类的。
能否说下你用usmart的一些高级点的用途?感觉移植了但是不会利用好,我觉得有必要发个帖子把usmart的用途汇总
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2014-4-26
在线时间
1 小时
发表于 2014-5-27 22:15:29 | 显示全部楼层
看到这两个函数,不知道有什么用,请原子哥指教
#if USMART_USE_WRFUNS==1  //如果使能了读写操作
//读取指定地址的值  
u32 read_addr(u32 addr)
{
return *(u32*)addr;//
}
//在指定地址写入指定的值  
void write_addr(u32 addr,u32 val)
{
*(u32*)addr=val; 
}
#endif
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2014-5-27 23:16:33 | 显示全部楼层
可以读写指定内存地址的数据.或者读flash数据(写flash就免了,没这么简单,实现起来有点麻烦.)
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2014-4-26
在线时间
1 小时
发表于 2014-5-27 23:41:57 | 显示全部楼层
原子,我已经把你的程序搞到阿莫论坛上面了,应该可以帮你推广下。去顶下吧。
http://www.amobbs.com/forum.php?mod=viewthread&tid=5582408&page=1&extra=#pid7567123
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2014-4-26
在线时间
1 小时
发表于 2014-5-28 16:35:36 | 显示全部楼层
“在usmart_init函数,必须设置定时器的计数频率为10Khz,以得到0.1ms为周期的计数时钟.”一定要这么设置吗?有些子程序实在是太快了,然后的出来的时间是0,所以我想提高精确度,要修改记数频率可以吗?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-25 19:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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