Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dgr6878
rt-thread
提交
c2d8bff6
R
rt-thread
项目概览
dgr6878
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c2d8bff6
编写于
9月 21, 2016
作者:
A
Aubr.Cool
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Bsp] stm32f10x delete compiler c99 mode
上级
8c229e41
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
68 addition
and
61 deletion
+68
-61
bsp/stm32f10x/applications/canapp.c
bsp/stm32f10x/applications/canapp.c
+13
-13
bsp/stm32f10x/drivers/bxcan.c
bsp/stm32f10x/drivers/bxcan.c
+54
-47
bsp/stm32f10x/project.uvprojx
bsp/stm32f10x/project.uvprojx
+1
-1
未找到文件。
bsp/stm32f10x/applications/canapp.c
浏览文件 @
c2d8bff6
...
@@ -120,9 +120,9 @@ INIT_DEVICE_EXPORT(can_bus_hook_init);
...
@@ -120,9 +120,9 @@ INIT_DEVICE_EXPORT(can_bus_hook_init);
struct
can_app_struct
struct
can_app_struct
{
{
const
char
*
name
;
const
char
*
name
;
struct
rt_event
event
;
struct
rt_can_filter_config
*
filter
;
struct
rt_can_filter_config
*
filter
;
rt_uint8_t
eventopt
;
rt_uint8_t
eventopt
;
struct
rt_event
event
;
};
};
static
struct
can_app_struct
can_data
[
2
];
static
struct
can_app_struct
can_data
[
2
];
static
rt_err_t
can1ind
(
rt_device_t
dev
,
void
*
args
,
rt_int32_t
hdr
,
rt_size_t
size
)
static
rt_err_t
can1ind
(
rt_device_t
dev
,
void
*
args
,
rt_int32_t
hdr
,
rt_size_t
size
)
...
@@ -153,27 +153,27 @@ struct rt_can_filter_item filter2item[4] =
...
@@ -153,27 +153,27 @@ struct rt_can_filter_item filter2item[4] =
};
};
struct
rt_can_filter_config
filter1
=
struct
rt_can_filter_config
filter1
=
{
{
.
count
=
4
,
4
,
.
actived
=
1
,
1
,
.
items
=
filter1item
,
filter1item
,
};
};
struct
rt_can_filter_config
filter2
=
struct
rt_can_filter_config
filter2
=
{
{
.
count
=
4
,
4
,
.
actived
=
1
,
1
,
.
items
=
filter2item
,
filter2item
,
};
};
static
struct
can_app_struct
can_data
[
2
]
=
static
struct
can_app_struct
can_data
[
2
]
=
{
{
{
{
.
name
=
"bxcan1"
,
"bxcan1"
,
.
filter
=
&
filter1
,
&
filter1
,
.
eventopt
=
RT_EVENT_FLAG_OR
|
RT_EVENT_FLAG_CLEAR
,
RT_EVENT_FLAG_OR
|
RT_EVENT_FLAG_CLEAR
,
},
},
{
{
.
name
=
"bxcan2"
,
"bxcan2"
,
.
filter
=
&
filter2
,
&
filter2
,
.
eventopt
=
RT_EVENT_FLAG_AND
|
RT_EVENT_FLAG_CLEAR
,
RT_EVENT_FLAG_AND
|
RT_EVENT_FLAG_CLEAR
,
},
},
};
};
void
rt_can_thread_entry
(
void
*
parameter
)
void
rt_can_thread_entry
(
void
*
parameter
)
...
...
bsp/stm32f10x/drivers/bxcan.c
浏览文件 @
c2d8bff6
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
#endif
#endif
#ifdef RT_USING_CAN
#ifdef RT_USING_CAN
#define inline __inline
#ifndef STM32F10X_CL
#ifndef STM32F10X_CL
#define BX_CAN_FMRNUMBER 14
#define BX_CAN_FMRNUMBER 14
#define BX_CAN2_FMRSTART 7
#define BX_CAN2_FMRSTART 7
...
@@ -849,6 +850,12 @@ static rt_err_t bxmodifyfilter(struct stm_bxcan *pbxcan, struct rt_can_filter_it
...
@@ -849,6 +850,12 @@ static rt_err_t bxmodifyfilter(struct stm_bxcan *pbxcan, struct rt_can_filter_it
rt_int32_t
fcase
;
rt_int32_t
fcase
;
rt_err_t
res
;
rt_err_t
res
;
rt_int32_t
hdr
,
fbase
,
foff
;
rt_int32_t
hdr
,
fbase
,
foff
;
rt_uint32_t
ID
[
2
];
rt_uint32_t
shift
;
rt_uint32_t
thisid
;
rt_uint32_t
thismask
;
CAN_FilterInitTypeDef
CAN_FilterInitStructure
;
CAN_FilterRegister_TypeDef
*
pfilterreg
;
fcase
=
(
pitem
->
mode
|
(
pitem
->
ide
<<
1
));
fcase
=
(
pitem
->
mode
|
(
pitem
->
ide
<<
1
));
hdr
=
bxcanfindfilter
(
pbxcan
,
pitem
,
fcase
,
&
fbase
,
&
foff
);
hdr
=
bxcanfindfilter
(
pbxcan
,
pitem
,
fcase
,
&
fbase
,
&
foff
);
...
@@ -894,14 +901,9 @@ static rt_err_t bxmodifyfilter(struct stm_bxcan *pbxcan, struct rt_can_filter_it
...
@@ -894,14 +901,9 @@ static rt_err_t bxmodifyfilter(struct stm_bxcan *pbxcan, struct rt_can_filter_it
return
RT_EBUSY
;
return
RT_EBUSY
;
}
}
}
}
rt_uint32_t
ID
[
2
];
rt_uint32_t
shift
;
rt_uint32_t
thisid
;
rt_uint32_t
thismask
;
CAN_FilterInitTypeDef
CAN_FilterInitStructure
;
pitem
->
hdr
=
hdr
;
pitem
->
hdr
=
hdr
;
CAN_FilterRegister_TypeDef
*
pfilterreg
=
&
((
CAN_FilterRegister_TypeDef
*
)
pbxcan
->
mfrbase
)[
fbase
];
pfilterreg
=
&
((
CAN_FilterRegister_TypeDef
*
)
pbxcan
->
mfrbase
)[
fbase
];
ID
[
0
]
=
pfilterreg
->
FR1
;
ID
[
0
]
=
pfilterreg
->
FR1
;
ID
[
1
]
=
pfilterreg
->
FR2
;
ID
[
1
]
=
pfilterreg
->
FR2
;
CAN_FilterInitStructure
.
CAN_FilterNumber
=
(
pfilterreg
-
&
CAN1
->
sFilterRegister
[
0
]);
CAN_FilterInitStructure
.
CAN_FilterNumber
=
(
pfilterreg
-
&
CAN1
->
sFilterRegister
[
0
]);
...
@@ -1152,7 +1154,6 @@ static rt_err_t control(struct rt_can_device *can, int cmd, void *arg)
...
@@ -1152,7 +1154,6 @@ static rt_err_t control(struct rt_can_device *can, int cmd, void *arg)
break
;
break
;
case
RT_CAN_CMD_SET_FILTER
:
case
RT_CAN_CMD_SET_FILTER
:
return
setfilter
(
pbxcan
,
(
struct
rt_can_filter_config
*
)
arg
);
return
setfilter
(
pbxcan
,
(
struct
rt_can_filter_config
*
)
arg
);
break
;
case
RT_CAN_CMD_SET_MODE
:
case
RT_CAN_CMD_SET_MODE
:
argval
=
(
rt_uint32_t
)
arg
;
argval
=
(
rt_uint32_t
)
arg
;
if
(
argval
!=
RT_CAN_MODE_NORMAL
||
if
(
argval
!=
RT_CAN_MODE_NORMAL
||
...
@@ -1306,27 +1307,30 @@ static const struct rt_can_ops canops =
...
@@ -1306,27 +1307,30 @@ static const struct rt_can_ops canops =
#ifdef USING_BXCAN1
#ifdef USING_BXCAN1
static
struct
stm_bxcan
bxcan1data
=
static
struct
stm_bxcan
bxcan1data
=
{
{
.
reg
=
CAN1
,
CAN1
,
.
mfrbase
=
(
void
*
)
&
CAN1
->
sFilterRegister
[
0
],
(
void
*
)
&
CAN1
->
sFilterRegister
[
0
],
.
sndirq
=
CAN1_TX_IRQn
,
CAN1_TX_IRQn
,
.
rcvirq0
=
CAN1_RX0_IRQn
,
CAN1_RX0_IRQn
,
.
rcvirq1
=
CAN1_RX1_IRQn
,
CAN1_RX1_IRQn
,
.
errirq
=
CAN1_SCE_IRQn
,
CAN1_SCE_IRQn
,
.
alocmask
=
{
0
,
0
},
{
.
filtercnt
=
BX_CAN2_FMRSTART
,
0
,
.
fifo1filteroff
=
7
,
.
filtermap
=
{
[
0
]
=
{
.
id32mask_cnt
=
0
,
.
id32bit_cnt
=
0
,
.
id16mask_cnt
=
2
,
.
id16bit_cnt
=
24
,
},
},
[
1
]
=
{
{
0
,
0
},
.
id32mask_cnt
=
0
,
BX_CAN2_FMRSTART
,
.
id32bit_cnt
=
0
,
7
,
.
id16mask_cnt
=
2
,
{
.
id16bit_cnt
=
24
,
{
0
,
0
,
2
,
24
,
},
{
0
,
0
,
2
,
24
,
},
},
},
},
};
};
...
@@ -1444,27 +1448,30 @@ void CAN1_SCE_IRQHandler(void)
...
@@ -1444,27 +1448,30 @@ void CAN1_SCE_IRQHandler(void)
#ifdef USING_BXCAN2
#ifdef USING_BXCAN2
static
struct
stm_bxcan
bxcan2data
=
static
struct
stm_bxcan
bxcan2data
=
{
{
.
reg
=
CAN2
,
CAN2
,
.
mfrbase
=
(
void
*
)
&
CAN1
->
sFilterRegister
[
BX_CAN2_FMRSTART
],
(
void
*
)
&
CAN1
->
sFilterRegister
[
BX_CAN2_FMRSTART
],
.
sndirq
=
CAN2_TX_IRQn
,
CAN2_TX_IRQn
,
.
rcvirq0
=
CAN2_RX0_IRQn
,
CAN2_RX0_IRQn
,
.
rcvirq1
=
CAN2_RX1_IRQn
,
CAN2_RX1_IRQn
,
.
errirq
=
CAN2_SCE_IRQn
,
CAN2_SCE_IRQn
,
.
alocmask
=
{
0
,
0
},
{
.
filtercnt
=
BX_CAN_FMRNUMBER
-
BX_CAN2_FMRSTART
,
0
,
.
fifo1filteroff
=
7
,
}
.
filtermap
=
{
{
0
,
0
},
[
0
]
=
{
BX_CAN_FMRNUMBER
-
BX_CAN2_FMRSTART
,
.
id32mask_cnt
=
0
,
7
,
.
id32bit_cnt
=
0
,
{
.
id16mask_cnt
=
2
,
{
.
id16bit_cnt
=
24
,
0
,
0
,
2
,
24
,
},
},
[
1
]
=
{
{
.
id32mask_cnt
=
0
,
0
,
.
id32bit_cnt
=
0
,
0
,
.
id16mask_cnt
=
2
,
2
,
.
id16bit_cnt
=
24
,
24
,
},
},
},
},
};
};
...
...
bsp/stm32f10x/project.uvprojx
浏览文件 @
c2d8bff6
...
@@ -361,7 +361,7 @@
...
@@ -361,7 +361,7 @@
<wLevel>
0
</wLevel>
<wLevel>
0
</wLevel>
<uThumb>
0
</uThumb>
<uThumb>
0
</uThumb>
<uSurpInc>
0
</uSurpInc>
<uSurpInc>
0
</uSurpInc>
<uC99>
1
</uC99>
<uC99>
0
</uC99>
<useXO>
0
</useXO>
<useXO>
0
</useXO>
<v6Lang>
0
</v6Lang>
<v6Lang>
0
</v6Lang>
<v6LangP>
0
</v6LangP>
<v6LangP>
0
</v6LangP>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录