[Bsp] stm32f10x delete compiler c99 mode

This commit is contained in:
Aubr.Cool 2016-09-21 11:31:53 +08:00
parent 8c229e412a
commit c2d8bff672
3 changed files with 68 additions and 61 deletions

View File

@ -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] =
}; };
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)

View File

@ -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
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
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)
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 =
#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, 0},
[0] = { 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,
}, },
}, },
}; };
@ -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,
}, },
}, },
}; };

View File

@ -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>