OpenEdv-开源电子网

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

iar中遇到的一个问题

[复制链接]

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
发表于 2013-7-13 19:09:00 | 显示全部楼层 |阅读模式
在IAR中编写stm8编写定义布尔型管脚:_Bool LED0 @PD_ODR:7; 这有问题吗?在stdv中可以这样定义,但是搬到IAR中就出现了很多问题。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-7-13 19:28:26 | 显示全部楼层
////////////////////////////////////////////////////////////////////////////////
//以下代码实现IO位定义操作
//比如定义PORTA.7输出,可以用Aout_bit.ODR7来定义.
//比如定义PORTC.3输入,可以用Cin_bit.IDR3来定义. 
#define __READ_WRITE //可读写
#define __READ          const //只读
//IO位定义实现结构体
#define __IO_REG8_BIT(NAME,ADDRESS,ATTRIBUTE,BIT_STRUCT)  \
__near __no_init volatile ATTRIBUTE union   \
{                                           \
unsigned char NAME;                     \
BIT_STRUCT NAME ## _bit;                \
}@ADDRESS;
//IO位输出结构体
typedef struct
{
  unsigned char ODR0     : 1;
  unsigned char ODR1     : 1;
  unsigned char ODR2     : 1;
  unsigned char ODR3     : 1;
  unsigned char ODR4     : 1;
  unsigned char ODR5     : 1;
  unsigned char ODR6     : 1;
  unsigned char ODR7     : 1;
}__BITS_ODR;
//IO位输入结构体
typedef struct
{
  unsigned char IDR0     : 1;
  unsigned char IDR1     : 1;
  unsigned char IDR2     : 1;
  unsigned char IDR3     : 1;
  unsigned char IDR4     : 1;
  unsigned char IDR5     : 1;
  unsigned char IDR6     : 1;
  unsigned char IDR7     : 1;
} __BITS_IDR;
__IO_REG8_BIT(PAout,0x5000,__READ_WRITE,__BITS_ODR); //PA输出口
__IO_REG8_BIT(PAin,0x5001,__READ,__BITS_IDR); //PA输入口
__IO_REG8_BIT(PBout,0x5005,__READ_WRITE,__BITS_ODR); //PB输出口
__IO_REG8_BIT(PBin,0x5006,__READ,__BITS_IDR); //PB输入口
__IO_REG8_BIT(PCout,0x500A,__READ_WRITE,__BITS_ODR); //PC输出口
__IO_REG8_BIT(PCin,0x500B,__READ,__BITS_IDR); //PC输入口
__IO_REG8_BIT(PDout,0x500F,__READ_WRITE,__BITS_ODR); //PD输出口
__IO_REG8_BIT(PDin,0x5010,__READ,__BITS_IDR); //PD输入口
__IO_REG8_BIT(PEout,0x5014,__READ_WRITE,__BITS_ODR); //PE输出口
__IO_REG8_BIT(PEin,0x5015,__READ,__BITS_IDR);  //PE输入口
__IO_REG8_BIT(PFout,0x5019,__READ_WRITE,__BITS_ODR); //PF输出口
__IO_REG8_BIT(PFin,0x501A,__READ,__BITS_IDR); //PF输入口
__IO_REG8_BIT(PGout,0x501E,__READ_WRITE,__BITS_ODR); //PG输出口
__IO_REG8_BIT(PGin,0x501F,__READ,__BITS_IDR); //PG输入口
__IO_REG8_BIT(PHout,0x5023,__READ_WRITE,__BITS_ODR); //PH输出口
__IO_REG8_BIT(PHin,0x5024,__READ,__BITS_IDR); //PH输入口
__IO_REG8_BIT(PIout,0x5028,__READ_WRITE,__BITS_ODR); //PI输出口
__IO_REG8_BIT(PIin,0x5029,__READ,__BITS_IDR);   //PI输入口
////////////////////////////////////////////////////////////////////////////////
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-7-13 20:02:42 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
这个比在stvp中复杂多了额。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-7-13 21:01:30 | 显示全部楼层
没办法,我就找到这么一个方法,呵呵.将就着用了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2013-7-13 22:47:11 | 显示全部楼层
iar与stvd是有区别的,使用起来stvd稍微好理解一点。
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-7-14 15:40:48 | 显示全部楼层
嗯,对额。觉得操作寄存器比操作库函数还好了。。。再请教一个问题:stvd 调试查看执行时间的问题。
“在STVD界面下,如果运行在仿真模式,打开Core Registers”标签下的“System”可以提供指令执行的CPU ticks和“Instruction counter”,在线Debug看不到。”这是其他网站上说的。但是我不知道是不是我的版本问题,我的那个Core Registers界面只是

的,而其他的是这样的:

的,这是什么版本?谁知道?
回复 支持 反对

使用道具 举报

20

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2012-12-22
在线时间
24 小时
发表于 2013-7-16 12:06:28 | 显示全部楼层
typedef struct
{
 unsigned char b0:1;
 unsigned char b1:1;
 unsigned char b2:1;
 unsigned char b3:1;
 unsigned char b4:1;
 unsigned char b5:1;
 unsigned char b6:1;
 unsigned char b7:1;
}REG8_TypeDef;

typedef struct
{
 unsigned short b0:1;
 unsigned short b1:1;
 unsigned short b2:1;
 unsigned short b3:1;
 unsigned short b4:1;
 unsigned short b5:1;
 unsigned short b6:1;
 unsigned short b7:1;
 unsigned short b8:1;
 unsigned short b9:1;
 unsigned short b10:1;
 unsigned short b11:1;
 unsigned short b12:1;
 unsigned short b13:1;
 unsigned short b14:1;
 unsigned short b15:1;
}REG16_TypeDef;

typedef struct
{
 unsigned long b0:1;
 unsigned long b1:1;
 unsigned long b2:1;
 unsigned long b3:1;
 unsigned long b4:1;
 unsigned long b5:1;
 unsigned long b6:1;
 unsigned long b7:1;
 unsigned long b8:1;
 unsigned long b9:1;
 unsigned long b10:1;
 unsigned long b11:1;
 unsigned long b12:1;
 unsigned long b13:1;
 unsigned long b14:1;
 unsigned long b15:1;
 unsigned long b16:1;
 unsigned long b17:1;
 unsigned long b18:1;
 unsigned long b19:1;
 unsigned long b20:1;
 unsigned long b21:1;
 unsigned long b22:1;
 unsigned long b23:1;
 unsigned long b24:1;
 unsigned long b25:1;
 unsigned long b26:1;
 unsigned long b27:1;
 unsigned long b28:1;
 unsigned long b29:1;
 unsigned long b30:1;
 unsigned long b31:1;
}REG32_TypeDef;
//定义位域:R8(GPIOA->ODR)b0=1等同于GPIOA->ODR的bit0置1
#define R8(reg)  ((volatile REG8_TypeDef*)&(reg))->
#define R16(reg) ((volatile REG16_TypeDef*)&(reg))->
#define R32(reg) ((volatile REG32_TypeDef*)&(reg))->

应该通用的!!!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-7-18 10:24:17 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
我自己试出来了,是跟仿真设置有关的。一个是只设置软件仿真就出现下面那个有16M显示的对话框,如果设置硬件仿真:s_tlink的话不会有16M的那个对话框显示。
回复 支持 反对

使用道具 举报

6

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2013-7-25
在线时间
0 小时
发表于 2013-9-2 23:44:00 | 显示全部楼层
回复【楼主位】回首看那个曾经的我:
---------------------------------
楼主  有TAR软件的教程提供给我一个么?  感觉不怎么会用这个软件组织代码,要一条条指令的写,好麻烦,如果可以像MDK一样方便组织代码就好饿
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-9-4 09:36:24 | 显示全部楼层
回复【11楼】渐臻佳境:
---------------------------------
IAR放弃了。网上很多教程的。我这里没有。
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2013-7-29
在线时间
0 小时
发表于 2013-9-4 21:18:33 | 显示全部楼层
楼主方便给个IAR软件的下载地址么?顺便问一下有相关的教程么?谢谢了!!!
回复 支持 反对

使用道具 举报

294

主题

1414

帖子

12

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
7791
金钱
7791
注册时间
2015-10-15
在线时间
2858 小时
发表于 2014-4-23 07:35:13 | 显示全部楼层
董松顿时的有些犹豫不决,惹得楚修尘深邃的目光随之而来。
www.dgtcam.com http://www.dgtcam.com
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2014-4-23 08:36:56 | 显示全部楼层
回复【13楼】LHPOWER:
---------------------------------
网上很多的。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 19:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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