注册 登录
查看: 524|回复: 14

[K60] 串口能用了ADC又不能用了,感觉好奇怪

[复制链接]
发表于 2014-3-6 13:39:01 | 显示全部楼层 |阅读模式
本帖最后由 木君之上 于 2014-3-6 13:41 编辑

如题:终于能用printf了,原因是山外哥的pdf里面这样写的:
山外嵌入式开发工作室  
4.  *                               串口发送实验测试  
5.  *  
6.  *  实验说明:山外串口发送实验  
7.  *            山外串口默认为: UART1,TX 接 PTC4,RX 接 PTC3  
8.  *            k60_fire.h 里定义了 printf 函数的输出设置:  
9.  *                #define FIRE_PORT           UART1  
10.  *                #define FIRE_BAUD           19200  
11.  *            这里的串口发送实验也使用 UART1 ,这样方便显示。  
12.  *               

谁知道坑呢,我最后看论坛才知道,,,,这里定义的不是UASRT1,而是USART3,后来改了就好了,
为什么不提醒一下呢,那为什么其他的例程要改呢,卡了我两天了,好吧,算我傻
/*************************************************************************
*                             山外嵌入式开发工作室
*
*  功能说明:定义 printf函数 的 串口输出端口 和 串口信息
*  备    注:
*************************************************************************/
#define FIRE_PORT           UART3
#define FIRE_BAUD           19200


下面是今天ADC的问题,还是看程序

typedef enum ADC_Ch
{
    //SC1n[DIFF]= 0
    //  ------ADC0------山外开发板丝印层----       ------ADC1------山外开发板丝印层----
    DAD0 = 0, //            ADC0_DP0                                                    ADC1_DP0
    DAD1 = 1, //            ADC0_DP1                                                    ADC1_DP1
    DAD2 = 2, //            PGA0_DP                                                            PGA1_DP
    DAD3 = 3, //            ADC0_DP3                                                    ADC1_DP3

    //ADCx_CFG2[MUXSEL] 位决定 ADCx_SEn 通道为 a 或 b.
    AD4a = 4, //            保留                                                            ADC1_SE4a   -- PTE0
    AD5a = 5, //            保留                                                            ADC1_SE5a   -- PTE1
    AD6a = 6, //            保留                                                            ADC1_SE6a   -- PTE2
    AD7a = 7, //            保留                                                            ADC1_SE7a   -- PTE3

    //也是 4、5、6、7
    AD4b = AD4a, //            ADC0_SE4b        -- PTC2                                        ADC1_SE4b   -- PTC8
    AD5b = AD5a, //            ADC0_SE5b        -- PTD1                                        ADC1_SE5b   -- PTC9
    AD6b = AD6a, //            ADC0_SE6b        -- PTD5                                        ADC1_SE6b   -- PTC10
    AD7b = AD7a, //            ADC0_SE7b        -- PTD6                                        ADC1_SE7b   -- PTC11
这个是ADC配置的东西,明明应该是用AD5b作为参数,可是却这样说
注:调用时直接写模块” _”后面的通道号就可以。如 SE16、SE4a 等。
软件触发不支持 B 通道,目前库只支持软件触发。


后来才看见多了一个宏定义,说是苏州大学添加的。。。添加这些干嘛呢,实在不解

而且,现在ADC也没有出结果,得不到数据,
我在采样之后printf结果,结果是没有结果,、

请问哪还要配置啊,pdf里面啥呀没说,说不定又有像printf那种坑,如果还是这样的话
只有放弃K60的库了,太耽误事了,
回复

使用道具 举报

发表于 2014-3-6 13:53:42 | 显示全部楼层
pdf就非常旧的版本的,一直没更新。实际上pdf讲的是方法,你可以发现我们pdf强调的是可移植性,已经讲明了在哪里文件里定义,是让读者自行去修改,而不是由我们固定死。
另外,你用的是旧版本的代码,我们已经不再去维护旧版本的代码。

新版本的代码已经出来了一段时间,最起码反馈的信息来看,更加容易上手。
新版本的架构更加清晰,而且配套新的视频,迟点还配套书籍(已经交稿给出版社)。

回复 支持 反对

使用道具 举报

发表于 2014-3-6 13:54:55 | 显示全部楼层
K60本身有这个b通道的,自然需要添加。
代码和旧版本的pdf里已经写明不支持B通道。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-6 13:56:02 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-6 13:54
K60本身有这个b通道的,自然需要添加。
代码和旧版本的pdf里已经写明不支持B通道。

谢谢,我已经知道了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-6 13:56:29 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-6 13:53
pdf就非常旧的版本的,一直没更新。实际上pdf讲的是方法,你可以发现我们pdf强调的是可移植性,已经讲明了在 ...

谢谢了,知道了,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-6 13:59:08 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-6 13:54
K60本身有这个b通道的,自然需要添加。
代码和旧版本的pdf里已经写明不支持B通道。

我的IAR编译或者make之后,下面就显示updating browsing information 非常卡,很慢,这是怎么回事呢,好像是跟goto the defination of 这个功能有关,但是好慢呀,
回复 支持 反对

使用道具 举报

发表于 2014-3-6 14:52:34 | 显示全部楼层
木君之上 发表于 2014-3-6 13:59
我的IAR编译或者make之后,下面就显示updating browsing information 非常卡,很慢,这是怎么回事呢,好像 ...

一般慢,都是没注册,或者没用管理员身份运行导致的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-8 14:38:31 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-6 14:52
一般慢,都是没注册,或者没用管理员身份运行导致的

我之前没注册,卡得要死,现在注册了要好一点,不过升级之后又卡了,下次试一下管理员身份,请问你知道为什么IAR无法打印浮点数吗?我的库都设为full了,还是不行了
回复 支持 反对

使用道具 举报

发表于 2014-3-8 14:40:27 | 显示全部楼层
木君之上 发表于 2014-3-8 14:38
我之前没注册,卡得要死,现在注册了要好一点,不过升级之后又卡了,下次试一下管理员身份,请问你知道为 ...

IAR 的库不支持浮点,IAR的库有bug。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-8 15:05:08 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-8 14:40
IAR 的库不支持浮点,IAR的库有bug。

谢谢了,我刚才也找到关于ADC的答案了,ADC的参考电压是3.3V,所以如果选择16位精度大的话,转换公式就是ADC的值除以65535再乘以3.3就OK了,对吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-8 15:08:39 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-8 14:40
IAR 的库不支持浮点,IAR的库有bug。

您好,在问一下,我在百度网盘下载那个exe文件能生成最新的代码,那是每个里面都包含了完整的库吧,有没有相应的库函数使用手册吗?只有《一天攻破K60》视频吗?
回复 支持 反对

使用道具 举报

发表于 2014-3-8 15:26:37 | 显示全部楼层
木君之上 发表于 2014-3-8 15:08
您好,在问一下,我在百度网盘下载那个exe文件能生成最新的代码,那是每个里面都包含了完整的库吧,有没有 ...

书后例程为完整版,第几章为配套书本逐步添加的(讲解库的实现过程),因此不完整。
暂时还没时间整理手册,而且我们的视频已经讲如何用工具来查找函数。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-8 15:29:16 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-8 15:26
书后例程为完整版,第几章为配套书本逐步添加的(讲解库的实现过程),因此不完整。
暂时还没时间整理手 ...

谢谢!强烈支持,非常感谢哥们强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-3-30 17:13:14 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-8 15:26
书后例程为完整版,第几章为配套书本逐步添加的(讲解库的实现过程),因此不完整。
暂时还没时间整理手 ...

printf 默认端口怎么更改啊?
不知道在哪里设置
回复 支持 反对

使用道具 举报

发表于 2014-4-13 14:42:49 | 显示全部楼层
我也遇到了类似的问题 ADC按照他所说的格式写的  adc_init(ADC1,SE14); ///////////////B10////这一个是可以用的  adc_init(ADC0,SE12); ///////////////B2////        case AD12:  //ADC0_SE12 -- PTB2这一个就不可以用了 我现在要用两路AD转换两个线性CCD,好几天了,都没解决,求大神答复
回复 支持 反对

使用道具 举报

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

本版积分规则

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