View previous topic :: View next topic |
Author |
Message |
john cutler
Joined: 06 Sep 2003 Posts: 82 Location: Hot Tub, California
|
3.160!! |
Posted: Wed May 28, 2003 6:44 pm |
|
|
Anyone brave enough to try 3.160 yet??
___________________________
This message was ported from CCS's old forum
Original Post ID: 144514826 |
|
|
Tomi Guest
|
Re: 3.160!! |
Posted: Thu May 29, 2003 1:36 am |
|
|
<font face="Courier New" size=-1>I've tried it.
I am not a really brave guy but I have an installation in "D:\PICC3" for the last well-tested version for legal use and another one in "D:\PICC33" to test the newer versions.
Preliminary results:
The compiled code is similar to 3.158 (incl. that huge jump table at switch() statements without "default").
The "pointer to a function" feature doesn't work as expected.
Some new chips like Realtek RTL8019 Ethernet chip and others are supported by their driver files (but of course I didn't test these drivers yet).
:=Anyone brave enough to try 3.160 yet??</font>
___________________________
This message was ported from CCS's old forum
Original Post ID: 144514830 |
|
|
RF Guest
|
Re: 3.160!! |
Posted: Thu May 29, 2003 2:40 am |
|
|
I've tried it but I got an error message "cannot find target" on the CCS S/W Prototyping board via the ICD-S. Therefore, I couldn't download hex files to the target. When I re-installed back to V3.158, the problem went away! It sounds like V3.160 has bug(s) in it.
RH
:=Anyone brave enough to try 3.160 yet??
___________________________
This message was ported from CCS's old forum
Original Post ID: 144514833 |
|
|
Douglas Kennedy
Joined: 07 Sep 2003 Posts: 755 Location: Florida
|
Re: 3.160 |
Posted: Thu May 29, 2003 9:00 am |
|
|
I went back to 3.148. I don't think the compiler is working correctly on all projects. Some projects it compiles ok others the compiler runs and appears to work but misses deliberately introduced syntax errors. The IDE has some problems also specifically with edit/replace. The debug stepping and resetting in 3.160 seem to be more reliable on the projects that actually compiled.
The new installer is prone to bombing on a WIN98SE PC.
3.160 is still a work in progress
___________________________
This message was ported from CCS's old forum
Original Post ID: 144514849 |
|
|
Chang-Huei Wu Guest
|
Re: 3.160!! |
Posted: Thu May 29, 2003 11:10 pm |
|
|
"pointer to a function" works for me !
CCS sample ex_qsort.c has a small bug ...
line# 93: if(c='A')
should be if(c=='A')
:=Preliminary results:
...
:=The "pointer to a function" feature doesn't work as expected.
___________________________
This message was ported from CCS's old forum
Original Post ID: 144514875 |
|
|
Tomi Guest
|
Re: 3.160!! |
Posted: Fri May 30, 2003 1:01 am |
|
|
:="pointer to a function" works for me !
How?
___________________________
This message was ported from CCS's old forum
Original Post ID: 144514879 |
|
|
Chang-Huei Wu Guest
|
Re: 3.160!! |
Posted: Fri May 30, 2003 7:23 am |
|
|
<font face="Courier New" size=-1>:=:="pointer to a function" works for me !
:=
:=How?
source code as follow, compiled with IDE 3.31, PCM 3.160.
however, I just can not make CCS "pointer to function" work for the following function:
int16 fun_1(int16 x) { ... }
It only work for ... int8 f(int8 x, int8 y) ...
what can I say?
CCS "pointer to function" can only work for A specific type of function.
Let's wait for ... 3.169
/////////////////////////////////////////////////////////////////////////
//// EX_QSORT.C ////
//// ////
//// This is also a clasic example of how to implement pointers ////
//// to functions. ////
//// ////
/////////////////////////////////////////////////////////////////////////
#include <16f877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=38400, xmit=PIN_C6, rcv=PIN_C7)
#include stdlib.h> // '<' refuse to show up at the right place
int8 fun_1(int8 p1,int8 p2) { return(p1); }
int8 fun_2(int8 p1,int8 p2) { return(p2); }
typedef int8 (*_pointer_to_fun_1_2)(int8 p1,int8 p2);
#org 0x0800
void main()
{
int8 i; char c;
_pointer_to_fun_1_2 fun_x; // for fun_1(.) and fun_2(.)
while( TRUE )
{
do
{
printf("\n\r\n\n Sort Assending or Desending (A,D): ");
putc(c=toupper(getc()));
}
while ((c!='A')&&(c!='D'));
if(c=='A') fun_x = fun_1;
else fun_x = fun_2;
printf("\r\n\n fun_x = 0x\%lx ", fun_x );
i = (*fun_x)(1,2);
printf(" result = \%d ", i);
}
}
___________________________
This message was ported from CCS's old forum
Original Post ID: 144514883 |
|
|
|