- 博客(14)
- 收藏
- 关注
原创 基于STM32的Can_Festival调试问题3 -- SDO修改心跳时间过很久才有反应
修改心跳时间,最终会进入lifegrd.c 文件中的OnHeartbeatProducerUpdate()函数,原函数如图1;在注册心跳的回调函数时,原函数将Value位赋值为0,导致在SetAlarm函数中设置NextTime==当前的Time_Cnt,进不了本次的中断,只能等Time_Cnt溢出,在++到NextTime才能触发执行回调函数,也就是一个周期,才能正常。图1将这段程序改为如下图就可以了...
2020-06-02 17:00:16 1016 1
原创 基于STM32的Can_Festival调试问题2 -- SDO发送错误
用SDO发送 修改 0X6040控制字节 为0X070D,返回 0X80错误。发现在SDO.C 函数UNS8 proceedSDO (CO_Data* d, Message *m),中有关于长度的判断,,之后补0就可以了。。我记得Copley好像不需要补0啊?
2020-06-02 16:57:39 1470 1
原创 基于STM32的Can_Festival调试问题1 -- 心跳包和TPOD发送时间不正确
图 1我设定在1MS的软定时器中 TimeCnt++;同时调用TimeDispatch()// 执行回调函数。因为在 SetAlarm() 这个注册函数中value值是根据timerscfg.h中的宏// The timer is incrementing every 8 us.//#define MS_TO_TIMEVAL(ms) ((ms) * 125)//#define US_TO_TIMEVAL(us) ((us)>>3)来确定分辨率的,我的Time_CNT 1ms +.
2020-06-02 16:51:51 1400
原创 洗牌,发牌C程序
洗牌需要随机函数 rand()如要产生[m,n]范围内的随机数num,可用:int num=rand()%(n-m+1)+m;在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。随机种子相同,每次产生的随机数也会相同。所以要包含time.h头文件,然后使用srand(time(0))来使用当前时间使...
2018-10-27 23:12:26 258
原创 200~300之间不能被3整除的数,5个一行输出。
这道题的关键是怎么样5个一行输出 ,用一个变量 使其自加 为5时,输出换行, 其他的时候执行不换行的 输出 函数。
2018-10-23 15:35:56 3981
原创 求两个数的最大公约数,最小公倍数。
m n最大公约数>=最小的数, 最小公倍数一定<=m*n故先分清楚 m , n 的 大小。最大公约数需从1~ 最小的数循环, 当 n%i==0 时 i为其约数最小公倍数从 最大的数到 m*n循环 ,当都可整除时就为其最小公倍数。PRINTF 跳出循环...
2018-10-23 13:40:21 203
原创 如何判断一个素数?100——200之间的素数怎么判断?
素数是 除了1和它本身,没有其他因数的 数,1不是素数,用for循环 ,从2开始 ,如果n和i相除不为0,则i为其因数 ,则n不是素数
2018-10-23 12:42:16 411
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人